sql基礎語法,聯結

所謂聯結,就是將其他表中的列添加過來。
01內聯結–inner join
內聯結就是以a表列作爲橋樑,將b表滿足同樣條件的列彙集到同一結果之中(只能選擇兩張表中同時存在的數據

SELECT SP.shop_id,SP.shop_name,SP.product_id,P.product_name,
P.sale_price
FROM ShopProduct AS SP INNER JOIN PRODUCT AS P
ON SP.product_id=P.product_id

在這裏插入圖片描述內聯結要點提示:
1.from 表1 inner join 表2。inner join 可以將兩張表聯結起來
2.on子句(聯結鍵)on用來指定聯結對象
同時使用=構建聯結條件,若有多個條件可以使用and,or。如果有where,on必須寫在from和where之間。因爲where是限定條件,此時限定的條件應該是兩個表共有的。
3.select 按照 表的別名.列名指定列可以避免混亂

02外聯結–outer join
同內連接一樣,外聯結也是選擇將滿足同樣條件的列彙總到一個表中。(只要一個表中擁有的數據,就可以進行外聯結換句話說外聯結針對的是一張表中所有數據

SELECT SP.shop_id,SP.shop_name,SP.product_id,P.product_name,
P.sale_price
FROM ShopProduct AS SP RIGHT OUTER JOIN PRODUCT AS P
ON SP.product_id=P.product_id

在這裏插入圖片描述使用外聯結需要指定主表,使用關鍵字left,和right
left–左側主表,right–右側主表。選擇哪個作爲主表,這個表所有內容就會出現在結果表中。換句話說,就是以這個表作爲基礎
03 3張表以上的表聯結
三張表以上表的連接,就是向其中添加連接條件

SELECT SP.shop_id,SP.shop_name,SP.product_id,P.product_name,
P.sale_price,P1.product_id,P1.product_name,P1.sale_price
FROM ShopProduct AS SP INNER JOIN PRODUCT AS P
ON SP.product_id=P.product_id
    INNER JOIN product3 AS p1
    ON SP.product_id=p1.product_id

在這裏插入圖片描述
04交叉聯結–cross
交叉聯結是對兩張表中的全部記錄進行組合,也就是說得到的行數會是兩張表列數之積
這也就使在交叉聯結不用使用聯結鍵on指定連接內容

SELECT SP.shop_id,SP.shop_name,SP.product_id,P.product_name
FROM ShopProduct AS SP CROSS JOIN PRODUCT AS P

在這裏插入圖片描述

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