連接查詢與union查詢

連接查詢

連接查詢包括下面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查詢的簡單總結。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章