連接查詢
連接查詢包括下面3中查詢方式:
- inner join(內連接查詢):
對於 A表和B表來說,要想查詢兩張表相同的數據,可以通過 select 字段1,字段2,... from A inner join B on where A.字段=B.字段
- left join (左連接查詢):
對於A表和B表來說,如果要進行左連接查詢,數據庫就會以左表爲基準,從右表中找出與左表相匹配的數據,找不到就用NULL補齊,SQL可以這樣寫:select 字段1,字段2,... from A left join B on where A.字段=B.字段
- right join(右連接查詢)
對於A表和B表來說,如果要進行右連接查詢,數據庫就會以右表爲基準,從左表中找出與右表相匹配的數據,找不到就用NULL補齊,SQL可以這樣寫: select 字段1,字段2... from A right join B on where A.字段=B.字段
注意以上連接查詢,會把多張表連接成一張表,以上的select語句就像從普通的表中進行數據的查詢。
union聯合查詢
對於union查詢,就是把多次查詢的結果合併起來,形成一個新的查詢結果表,這就要求我們做到以下幾點:
- 對於聯合查詢的多張表的列數必須保持一致
- 推薦:對於每一列的字段類型也要保持一致
- 對於多個select語句的查詢,列名可能不同,要以第一個select語句的列名爲準
- 如果多個select語句查詢到相同的記錄,就會把重複的記錄合併爲一條記錄
- 如果不想將相同的查詢結果去重,直接在union後加all,當然,這種效率會高一點
SQL語法:
select * from A
union
select * from B
union
.....
以上是自己對連接查詢和union查詢的簡單總結。