欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

這篇文章給大家介紹怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供井陘礦網(wǎng)站建設(shè)、井陘礦做網(wǎng)站、井陘礦網(wǎng)站設(shè)計、井陘礦網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、井陘礦企業(yè)網(wǎng)站模板建站服務(wù),10年井陘礦做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

通常有以下幾種連接方式:

JOIN  or  INNER JOIN(內(nèi)連接) : 這兩個是相同的,要求兩邊表同時有對應(yīng)的數(shù)據(jù),返回行,任何一邊缺失數(shù)據(jù)就不顯示。

LEFT JOIN(左外連接):即使右邊的表中沒有匹配,也從左表返回所有的行。

RIGHT JOIN(右外連接):即使左邊的表中沒有匹配,也從右表返回所有的行。

FULL JOIN(全外連接):只要其中一個表中存在匹配就返回行。

如例,有g(shù)rade表(課程號sn,分?jǐn)?shù)scroe,學(xué)號id),student表(學(xué)號id,學(xué)生姓名name),要查詢學(xué)生的姓名和成績

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫 怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

當(dāng)JOIN或是INNER JOIN時,

SELECT s.name,g.sn,g.score from student as s join grade as g on s.id = g.id

或者

SELECT s.name,g.sn,g.score from student as s inner join grade as g on s.id = g.id

結(jié)果集如下

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

當(dāng)LEFT JOIN時,

SELECT s.name,g.sn,g.score from student as s left join grade as g on s.id = g.id

結(jié)果集如下

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

當(dāng)RIGHT JOIN時,

SELECT s.name,g.sn,g.score from student as s right join grade as g on s.id = g.id

結(jié)果集如下

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

當(dāng)FULL JOIN時,

SELECT s.name,g.sn,g.score from student as s full join grade as g on s.id = g.id

結(jié)果集如下

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

注意,兩個表連接時用on,在使用left join(right join或full join)時,on與where的區(qū)別是:

on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄

where條件是在臨時表生成好后再對臨時表進(jìn)行過濾的條件,這時已經(jīng)沒有l(wèi)eft join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。如下圖,

on條件為黃色部分

SELECT s.name,g.sn,g.score from student as s left join grade as g on s.id = g.id and score =90

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

SELECT s.name,g.sn,g.score from student as s left join grade as g on s.id = g.id where score =90

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

下面看下SQL中join的各種用法

1.自然連接(natural join)

自然連接將表中具有相同名稱的列自動進(jìn)行匹配,自然連接不必指定任何同等連接條件也不能認(rèn)為指定哪些列需要被匹配,自然連接得到的結(jié)果表中,兩表中名稱相同的列只出現(xiàn)一次。

select * from employee natural join department;

2.內(nèi)連接(inner join):產(chǎn)生的結(jié)果是A和B的交集(相同列里面的相同值)

內(nèi)連接查詢能將左表和右表中能關(guān)聯(lián)起來的數(shù)據(jù)連接后返回,返回的結(jié)果就是兩個表中所有相匹配的數(shù)據(jù)。

select * from TableA as A inner join TableB B on A.PK = B.PK;
select * from TableA as A inner join TableB B on A.PK > B.PK;


怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

3.外連接(outer join)

內(nèi)連接是要顯示兩張表的內(nèi)存,而外連接不要求如此,外連接可以依據(jù)連接表保留左表,右表或全部表的行為而分為左外連接右外連接和全連接。

select * from TableA as A left(right/full) join TableB as B on A.PA = B.PK;

Full Join:產(chǎn)生的結(jié)果是A和B的并集(如果沒有相同的值會用null作為值)

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

Left Join:產(chǎn)生表A的完全集,而B表中匹配的則有值(沒有匹配的則以null值取代)


怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

Right Join:產(chǎn)生表B的完全集,而A表中匹配的則有值(沒有匹配的則以null值取代)

怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫

4.交叉連接(cross join)

又稱笛卡爾連接,交叉連接返回兩個集合的笛卡爾積。

select * from TableA cross join TableB;

關(guān)于怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享題目:怎么在SQL語句中使用JOIN連接數(shù)據(jù)庫
標(biāo)題來源:http://aaarwkj.com/article26/gdsojg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、Google、自適應(yīng)網(wǎng)站、做網(wǎng)站、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
国产欧美又粗又猛又爽老 | 高清中文一区二区三区| 国产大片久久午夜电影| 免费看的日韩av毛片| 亚洲免费三级黄色片| 亚洲国产精品成人久久蜜臀| 久久精品亚洲天然东京热| 欧美一区二区三区十区| 久久国产综合精品电影| 区二区三区毛片乱码免费| 亚洲人成伊人成综合网中文| 四虎成人免费永久视频| 特黄特色的日本大片| 一本久久综合亚洲鲁鲁五月天| 日韩蜜桃av一二三四区| 精品亚洲欧美日韩国产| 亚洲丰满性感美女av| 欧美日韩一区二区高清在线| 色婷婷亚洲综合色一区二区| 国产精品综合av一区二区国产馆| 99热视频这里只有精品| 国产精品一区二区av麻豆| 国产欧美日韩精品一区| 中文字幕日韩av综合在线| 青青草原精品视频在线| 国产精品一区二区久久| 蜜臀视频在线观看免费| 亚洲精品国产av成人网| 亚洲一区二区三区久久伊人| 日韩中字在线一区二区| 成人精品超碰一区二区| 日本视频天堂在线不卡| 怡红院怡春院视频免费看| av熟女乱一区二区三区| 亚洲欧美日韩有码一区| 精品国产av一区二区麻豆| 成人免费毛片1000部| 国产精品欧美色区福利在线| 日韩av不卡免费播放| 91国产在线视频免费观看| 国产aaa级日本一区二区三区|