--以本例子為例,先介紹下幾種常用的表連接,本例只用到left join,其它自己可嘗試----測(cè)試下:
--inner join 內(nèi)連接,結(jié)果是兩個(gè)表都包含Sid的行;
--left join 左連接,結(jié)果是以左表的Sid為準(zhǔn),右表沒(méi)有的為空值null
--right join 右連接,結(jié)果是以右表的Sid為準(zhǔn),左表沒(méi)有的為空值null
--full outer join 全外連接,結(jié)果是包含二表數(shù)據(jù)
成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司的開(kāi)發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見(jiàn)的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。
例子:查詢"01"課程比"02"課程成績(jī)高的學(xué)生的信息及課程分?jǐn)?shù)
--1、第一種方法:左連接,查詢同時(shí)存在'01'課程和'02'課程的學(xué)生信息,然后再進(jìn)行---比較, isnull用法,如果score有值則返回score,如果score為null則返回0
select a.*,b.score [課程'01'的分?jǐn)?shù)],c.score [課程'02'的分?jǐn)?shù)] from Student a
left join SC b on a.Sid=b.Sid and b.Cid='01'
left join SC c on a.Sid=c.Sid and c.Cid='02'
where b.score>isnull(c.score,0)
--2、第二種寫法
select a.* , b.score [課程'01'的分?jǐn)?shù)],c.score [課程'02'的分?jǐn)?shù)] from Student a , SC b , SC c
where a.Sid = b.Sid and a.Sid = c.Sid and b.Cid = '01' and c.Cid = '02' and b.score > c.score