(轉(zhuǎn)貼)數(shù)據(jù)庫(kù)連接(內(nèi)連接,外連接,交叉連接)

          數(shù)據(jù)庫(kù)連接分為:內(nèi)連接,外連接(左、右連接,全連接),交叉連接
          文章地址 : http://www.zxbc.cn/html/20080527/51189.html
          轉(zhuǎn)載 
          內(nèi)連接:把兩個(gè)表中數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)查出來(lái) 
          外連接:以某個(gè)表為基礎(chǔ)把對(duì)應(yīng)數(shù)據(jù)查出來(lái)(全連接是以多個(gè)表為基礎(chǔ)) 
          student表 
          no name 
          1     a 
          2     b 
          3     c 
          4     d 
          grade表 
          no grade 
          1     90 
          2     98 
          3     95 
          內(nèi)連接 inner join(查找條件中對(duì)應(yīng)的數(shù)據(jù),no4沒(méi)有數(shù)據(jù)不列出來(lái)) 
          語(yǔ)法:select * from student inner join grade on student.no = grade.no 
          結(jié)果 
          student.no name grade.no grade 
          1             a             1         90 
          2             b             2         98 
          3             c             3         95 
          左連接(左表中所有數(shù)據(jù),右表中對(duì)應(yīng)數(shù)據(jù)) 
          語(yǔ)法:select * from student left join grade on student.no = grade.no 
          結(jié)果: 
          student.no name grade.no grade 
          1                 a         1         90 
          2                 b         2         98 
          3                 c         3         95 
          4                 d     
          右連接(右表中所有數(shù)據(jù),左表中對(duì)應(yīng)數(shù)據(jù)) 
          語(yǔ)法:select * from student right join grade on student.no = grade.no 
          結(jié)果: 
          student.no name grade.no grade 
          1                 a         1         90 
          2                 b         2         98 
          3                 c         3         95 
          全連接 
          語(yǔ)法:select * from student full join grade on student.no = grade.no 
          結(jié)果: 
          no name grade 
          1     a     90 
          2     b     98 
          3     c     95 
          4     d 
          1     a     90 
          2     b     98 
          3     c     95 
          注:access 中不能直接使用full join ,需要使用union all 將左連接和右連接合并后才可以

          交叉連接
          將兩個(gè)表所有行組合,連接后的行數(shù)為兩個(gè)表行數(shù)的乘積(笛卡爾積)
          語(yǔ)法,借用上面的例子應(yīng)該是
          select * from student cross join grade

          行數(shù)應(yīng)該為12行 :
          no name grade 
          1     a     90 
          2     b     98 
          3     c     95 
          4     d  
          1     a     90 
          2     b     98 
          3     c     95 
          4     d 
          1     a     90 
          2     b     98 
          3     c     95 
          4     d 

          posted on 2011-11-30 17:24 AK47 閱讀(495) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 石城县| 淮北市| 东辽县| 贵州省| 海南省| 巴彦淖尔市| 木里| 光泽县| 潼关县| 牙克石市| 三台县| 大理市| 夏河县| 商洛市| 白河县| 巴中市| 宝坻区| 甘孜| 夏河县| 长寿区| 汤原县| 山西省| 沾化县| 安溪县| 芜湖县| 井研县| 新化县| 邵武市| 古蔺县| 桐城市| 永胜县| 济阳县| 聂荣县| 太保市| 双鸭山市| 河南省| 宁阳县| 正宁县| 朝阳区| 滨海县| 黑水县|