日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

细说SQL 连接

發布時間:2023/12/18 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 细说SQL 连接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

連接條件可在FROM或WHERE子句中指定,建議在FROM子句中指定連接條件。WHERE和HAVING子句 也可以包含搜索條件,以進一步篩選連接條件所選的行。???
????
????? 連接可分為以下幾類:?????
????
??????內連接。 ? ? ??從兩個關系的笛卡兒積中選取給定屬性間滿足一定條件的元組. ? ? ? 自然連接運算作用于兩個關系,并產生一個關系作為結果。它只考慮那些在兩個關系模式中都出現的屬 ? ? ? 性上取值相同的元組對。 ? ? ? 笛卡爾積,他將一個關系的每個元組與第二個關系的所有元組都進行連接。 ? ? ? 利用內連接可獲取兩表的公共部分的記錄(典型的連接運算,使用像 ? = ? 或 ? <> ? 之類的比較運算符)。 包括相等連接,不等連接和自然連接? ?
????? 內連接使用比較運算符根據每個表共有的列的值匹配兩個表中的行。例如,檢索 ? students ? 和 ? courses 表中學生標識號相同的所有行。???
????
??????外連接。外連接可以是左向外連接、右向外連接或完整外部連接。?????
????? 在FROM子句中指定外連接時,可以由下列幾組關鍵字中的一組指定:???
??????LEFT ? JOIN ? 或 ? LEFT ? OUTER ? JOIN。?????
??????左向外連接的結果集包括LEFT??OUTER子句中指定的左表的所有行,而不僅僅是連接列所匹配的行。如果左表 的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。????
??????RIGHT??JOIN??或??RIGHT ? OUTER ? JOIN。?????
????? 右向外連接是左向外連接的反向連接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表 返回空值。???
????? FULL ? JOIN ? 或 ? FULL ? OUTER ? JOIN。?????
??????完整外部連接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空 值。如果表之間有匹配行,則整個結果集行包含基表的數據值。???
????
????? 交叉連接。交叉連接返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉連接也稱作笛卡爾積。???
????
????? FROM ? 子句中的表或視圖可通過內連接或完整外部連接按任意順序指定;但是,用左或右向外連接指定表或視 圖時,表或視圖的順序很重要。有關使用左或右向外連接排列表的更多信息,請參見使用外連接。?????
????
?例子: ??
? ? ? ?a表 ? ??? id ? name ? ? b表 ? ? id ??? job ? parent_id ??
? ? ? ? ? ? ? ? ? ?1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
? ? ? ? ? ? ? ? ? ?2 ? 李四??????????????? ? 2 ? ? 34 ? ? 2 ??
? ? ? ? ? ? ? ? ? ?3 ? 王武 ? ? ? ? ? ? ? ? ?3 ? ? 34 ? ? 4 ??
? ??
? a.id同parent_id ? 存在關系???
????
??內連接???
? select ? a.*,b.* ? from ? a ? inner ? join ? b ? ? on ? a.id=b.parent_id ??
? ??
? 結果是 ? ??
? 1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
? 2?? 李四??????????????? ??2 ? ? 34 ? ? 2???
????
??左連接???
? select ? a.*,b.* ? from ? a ? left ? join ? b ? ? on ? a.id=b.parent_id ??
? ??
? 結果是 ? ??
? 1 ? 張3 ? ? ? ? ? ? ? ? ? ?1 ? ? 23 ? ? 1 ??
? 2 ? 李四 ? ? ? ? ? ? ? ? ?2 ? ? 34 ? ? 2 ??
? 3 ? 王武 ? ? ? ? ? ? ? ? ?null???

??右連接???
? select ? a.*,b.* ? from ? a ? right ? join ? b ? ? on ? a.id=b.parent_id ??
? ??
? 結果是 ? ??
? 1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
? 2 ? 李四 ? ? ? ? ? ? ? ? 2 ? ? 34 ? ? 2 ??
? null ? ? ? ? ? ? ? ?????? ?3 ? ? 34 ? ? 4???
????
??完全連接???
? select ? a.*,b.* ? from ? a ? full ? join ? b ? ? on ? a.id=b.parent_id???

? 結果是 ? ??
? 1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
? 2 ? 李四 ? ? ? ? ? ? ? ? 2 ? ? 34 ? ? 2 ??
? null ? ? ? ? ? ? ? ? 3 ? ? 34 ? ? 4 ??
? 3 ? 王武 ? ? ? ? ? ? ? ? null

轉載于:https://www.cnblogs.com/wssxr/p/4331063.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的细说SQL 连接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。