靚麗時尚館

位置:首頁 > 健康生活 > 心理

如何把兩條SQL語句合併

心理6.1K
如何把兩條SQL語句合併

sql語句合併的方式要依據sql語句本身的內容而定,如果兩條sql裡的內容是查詢同一個表的,那麼可以直接合並,如果是不同的表,就要看是否有主鍵外來鍵關聯(join),如果完全不相干的兩條sql語句要合併,就用union

舉個例子:

我用Toad做演示,我先新建兩張table,create table #AA(ID int,name nvarchar(10),age int)create table #BB(ID int,name nvarchar(10),age int )

分別向兩張table插入三條資料,可以用兩個班來理解A班有三個學生,B班也有三個學生,為下一步sql語句做準備

insert into #AA select 1,N&#39張三&#39,10

insert into #AA select 2,N&#39李四&#39,10

insert into #AA select 3,N&#39王五&#39,11

insert into #BB select 1,N&#39張A&#39,10

insert into #BB select 2,N&#39李B&#39,11

insert into #BB select 3,N&#39王C&#39,12

現在要求AB兩個班找出年齡等於10歲的同學,最直接的方法就是:select * from #AA where age=10

select * from #BB where age=10但是這樣會產生兩個結果集,結果不直觀!

接下來用union將這兩條sql語句合併起來,F5執行之後,就會發現變成一個結果集!

select * from #AA where age=10

union

select * from #BB where age=10

還有一種不用union的做法,sql語句這樣寫:

select a.*,b.* from #AA a inner join #BB b on =

where =10 and =10

這種寫法就是要找出主鍵外來鍵的關聯關係,但是結果就不好直觀來閱讀,因為結果集是混亂的

對比join與union,可以發現union是完全的結果累加,相當於完美合併,join是屬於條件連線,要依據例項來判斷什麼時候該用join,什麼時候該用union

標籤:語句 sql 合併