左連接:返回包括左表中的所有記錄和右表中聯(lián)結字段相等的記錄;
在金灣等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網站、網站制作 網站設計制作按需策劃設計,公司網站建設,企業(yè)網站建設,成都品牌網站建設,成都全網營銷推廣,外貿營銷網站建設,金灣網站建設費用合理。
右連接:返回包括右表中的所有記錄和左表中聯(lián)結字段相等的記錄;
全連接:返回兩個連接表的所有記錄;mysql沒有全連接
內連接:返回兩個連接表連接字段相同的記錄;
union:對兩個結果集進行并集,并去重,當交換兩個select語句順序后,最終結果與不交換時無區(qū)別;
union all:對兩個結果集進行并集,不去重,當交換兩個select語句順序后,最終結果與不交換時有區(qū)別;
舉個例子 有一個學生表 班級 姓名 一個成績表 姓名 成績 我們需要返回X班的所有學生的成績,但是班上有人缺考,也就是成績表里沒有姓名,我們先用on得到的就是有考試成績的名字,通過外連接,我們就可以得到全班人的名字以及成績。
SQL中的 join 可以根據相應條件把指定的表給結合起來并將數(shù)據返回。
內連接是基于連接謂詞將倆張表(如A和B)的列組合到一起產生新的結果表,在表中存在至少一個匹配時,INNER JOIN 關鍵字返回行
左外連接Left join關鍵字會從左表那里返回所有的行,即使是在右表中沒有匹配到的行?
右外連接關鍵字Right join會從右表那里返回所有的行,即使是在左表中沒有匹配到的行?
全連接的關鍵字Full join,只要其中某個表中存在匹配,F(xiàn)ull join 就會返回行
交叉連接一般使用的比較少,交叉連接又稱笛卡爾連接或者叉乘連接,如果,A和B是倆個集合,他們的交叉連接就是A*B?
學生student表:
課程course表:
交叉連接:
結果為兩張表的笛卡爾積:
內連接(inner join ,inner 可以省略)
顯示內連接和隱示內連接獲得的查詢結果是一樣的,都是A表和B表的交集(例:A.id = B.id),但是只能查到有關系的信息,如果A表的一條數(shù)據的與B表關聯(lián)的字段沒有對應的信息(如:A.id = null),即:這條數(shù)據在B表中沒有對應的信息,則無法獲得。
外連接(outer join,outer可以省略)
左外連接獲得的查詢結果是左邊的表A的全部信息和A,B兩張表的交集,左邊A表的全部包含A表中在B表中沒有對應關系的信息。
右外連接獲得的查詢結果是右邊的表B的全部信息和A,B兩張表的交集,右邊B表的全部包含B表中在A表中沒有對應關系的信息。