2010-07-26 3 views
6

J'ai deux tables, disent table1 avec deux lignes de données dites row11 et row12 et table2 avec 3 lignes de données étaient assis row21, row22, row23table SQL Append requêtes

Quelqu'un peut-il me fournir le SQL pour créer une requête qui renvoie

row11 
row12 
row21 
row22 
row23 

Remarque: Je ne souhaite pas créer de nouvelle table mais renvoie simplement les données.

+0

Vos lignes sont-elles de structure identique? (c'est-à-dire le même nombre de colonnes, avec le même type et la même commande?) –

Répondre

7
select * from table1 union select * from table2 
+0

Merci - beaucoup apprécié – Dave

1

Pourquoi ne pas utiliser UNION?

SELECT Col1, Col2, Col3 DE TABLE1

UNION

SELECT Col1, Col2, Col3 DE TABLEAU2

sont les colonnes sur les deux tableaux identiques?

13

Utilisez UNION ALL, basée sur l'exemple des données:

SELECT * FROM TABLE1 
UNION ALL 
SELECT * FROM TABLE2 

UNION supprime les doublons - si les deux tables avaient chacun une rangée dont les valeurs étaient « rowx, 1 », la requête renverra une ligne, pas deux. Cela rend également UNION plus lent que UNION ALL, car UNION ALL ne supprime pas les doublons. Connaissez vos données et utilisez-les de manière appropriée.