久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

sql語(yǔ)句中怎么實(shí)現(xiàn)聯(lián)合查詢

共計(jì) 1625 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

sql 語(yǔ)句中怎么實(shí)現(xiàn)聯(lián)合查詢,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

sql 語(yǔ)句聯(lián)合查詢?cè)斀? 

2011-03-01 18:58:22|  分類: mysql| 字號(hào)   訂閱

例子:

person 表和 user 表沒(méi)有約束

 

有以下幾種關(guān)聯(lián)

1.UNION

格式:
查詢語(yǔ)句

UNION [ALL] 查詢語(yǔ)句

[UNION [ALL] 查詢語(yǔ)句][…n]

說(shuō)明:

ALL 選項(xiàng)表示將所有行合并到結(jié)果集合中。不指定該項(xiàng)時(shí),被聯(lián)合查詢結(jié)果集合中的重復(fù)行將只保留一行。

在包括多個(gè)查詢的 UNION 語(yǔ)句中,其執(zhí)行順序是自左至右,使用括號(hào)可以改變這一執(zhí)行順序。例如:

查詢 1 UNION (查詢 2 UNION 查詢 3) 

執(zhí)行:select id,name from user UNION select id,name from person;

注意:sql 句子欄目數(shù)必須是相同的,字段可以隨意  2.JOIN

JOIN 用于按照 ON 條件聯(lián)接兩個(gè)表,主要有四種:

(一)內(nèi)連接

INNER JOIN:內(nèi)部聯(lián)接兩個(gè)表中的記錄,僅當(dāng)至少有一個(gè)同屬于兩表的行符合聯(lián)接條件時(shí),內(nèi)聯(lián)接才返回行。(表示交集)

(二)外連接

LEFT JOIN / LEFT OUTER JOIN:外部聯(lián)接兩個(gè)表中的記錄,并包含左表中的全部記錄。如果左表的某記錄在右表中沒(méi)有匹配記錄,則在相關(guān)聯(lián)的結(jié)果集中右表的所有選擇列表列均為空值。理解為即使不符合 ON 條件,左表中的記錄也全部顯示出來(lái),且結(jié)果集中該類記錄的右表字段為空值。(差集)

RIGHT JOIN / RIGHT OUTER JOIN:外部聯(lián)接兩個(gè)表中的記錄,并包含右表中的全部記錄。簡(jiǎn)單說(shuō)就是和 LEFT JOIN 反過(guò)來(lái)。(差集)

FULL JOIN / FULL OUTER JOIN:完整外部聯(lián)接返回左表和右表中的所有行。就是 LEFT JOIN 和 RIGHT JOIN 和合并,左右兩表的數(shù)據(jù)都全部顯示。(并集)

(三)交叉連接

交叉連接 (cross join) 不帶 WHERE 子句,它返回被連接的兩個(gè)表所有數(shù)據(jù)行的笛卡爾積,返回到結(jié)果集合中的數(shù)據(jù)行數(shù)等于第一個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)。

JOIN 的基本語(yǔ)法(注意結(jié)果對(duì)比):

1. 執(zhí)行  select * from user as A join person as B on A.id=B.id; 或

select * from user as A inner join person as B on A.id=B.id;

結(jié)果如下:
 
 
 
2. 執(zhí)行  select A.* from user as A join person as B on A.id=B.id; 
3. 執(zhí)行 select * from user as A left join person as B on A.id=B.id; 
 
4.select * from person as A right
join user as B on A.id=B.id;  
 5.full join 
mysql 5 不支持 full join 所以用左關(guān)聯(lián)和右關(guān)聯(lián)進(jìn)行聯(lián)合

SELECT * FROM user

LEFT JOIN money ON user.id=money.id

UNION

SELECT * FROM user

RIGHT JOIN money ON user.id=money.id

6. 執(zhí)行  select * from user CROSS JOIN person;

  巧記 select * from A left join  B where  條件
 
其一:  表以 from 最近表為準(zhǔn)則(A 表)
其二: join B 要放在表 A   left (其中對(duì)面中的左右以自身的左右正好相反)
其三:from A 表為準(zhǔn)則時(shí),Join 表有多字段內(nèi)容,少則為空值 NULL
 right join 正好相反 select * from A right join  B where  條件

關(guān)于 sql 語(yǔ)句中怎么實(shí)現(xiàn)聯(lián)合查詢問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注丸趣 TV 行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計(jì)1625字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 日照市| 巨鹿县| 兰溪市| 青河县| 乌兰浩特市| 桓台县| 越西县| 临高县| 永仁县| 上犹县| 绿春县| 嘉祥县| 德化县| 左权县| 石景山区| 平罗县| 新余市| 天祝| 咸丰县| 霍邱县| 潞西市| 永寿县| 吴江市| 宝丰县| 大英县| 嘉峪关市| 雷山县| 桃园市| 积石山| 巴中市| 连山| 台北县| 丽江市| 大埔县| 阳新县| 梨树县| 芮城县| 观塘区| 遂溪县| 扬州市| 林州市|