<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小菜毛毛技術分享

    與大家共同成長

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks

    數據表的連接有:
    1、內連接(自然連接): 只有兩個表相匹配的行才能在結果集中出現
    2、外連接: 包括
    (1)左外連接(左邊的表不加限制)
    (2)右外連接(右邊的表不加限制)
    (3)全外連接(左右兩表都不加限制)
    3、自連接(連接發生在一張基表內)
    select a.studentno, a.studentname, b.classname
          from students a, classes b
          where a.classid(+) = b.classid;
    (另外一種寫法:
    select a.studentno,a.studentname,b.classname
            from students right join class on students.classid=class.classid

    STUDENTNO STUDENTNAM CLASSNAME
    ---------- ---------- ------------------------------
                1 周虎          一年級一班
                2 周林          一年級二班
                                 一年級三班
    以上語句是右連接:
    即"(+)"所在位置的另一側為連接的方向,右連接說明等號右側的所有
    記錄均會被顯示,無論其在左側是否得到匹配。也就是說上例中,無
    論會不會出現某個班級沒有一個學生的情況,這個班級的名字都會在
    查詢結構中出現。
    即是右連接是以右邊這個表為基準,左表不足的地方用NULL填充


    反之:
    select a.studentno, a.studentname, b.classname
           from students a, classes b
          where a.classid = b.classid(+);

    (另外一種寫法:
    select a.studentno,a.studentname,b.classname
            from students left join class on students.classid=class.classid


    STUDENTNO STUDENTNAM CLASSNAME
    ---------- ---------- ------------------------------
                1 周虎          一年級一班
                2 周林          一年級二班
                3 鐘林達

    則是左連接,無論這個學生有沒有一個能在一個班級中得到匹配的部門號,
    這個學生的記錄都會被顯示。

    即是左連接是以左邊這個表為基準,右表表不足的地方用NULL填充

    select a.studentno, a.studentname, b.classname
           from students a, classes b
          where a.classid = b.classid;
    (另外一種寫法:
    select a.studentno,a.studentname,b.classname
            from students inner join class on students.classid=class.classid

    這個則是通常用到的內連接,顯示兩表都符合條件的記錄

    總之,

    左連接顯示左邊全部的和右邊與左邊相同的
    右連接顯示右邊全部的和左邊與右邊相同的
    內連接是只顯示滿足條件的!

     

    順便問下:有誰知道oracle左連接的兩種寫法的差異?

    有兩個表T1和T2,兩個表除了主鍵索引外均無其他索引,這兩個表由T1.F1(主鍵),T2.F2(主鍵)進行左連接,SQL語句有兩種寫法:
    1. SELECT * FROM T1,T2 WHERE T1.F1=T2.F2(+)
    2. SELECT * FROM T1 LEFT JOIN T2 ON T1.F1=T2.F2

    當查看1的執行計劃時發現T1為全表掃描,T2為索引掃描。
    當查看2的執行計劃時發現兩個表均為全表掃描。
    posted on 2009-07-21 22:05 小菜毛毛 閱讀(4002) 評論(0)  編輯  收藏 所屬分類: 數據庫
    主站蜘蛛池模板: 欧亚一级毛片免费看| 日韩在线视精品在亚洲| 毛片在线全部免费观看| 国产精品亚洲mnbav网站| 产传媒61国产免费| 国产成人亚洲综合| 三上悠亚在线观看免费| 亚洲国产成人一区二区精品区 | 免费a级毛片永久免费| 亚洲av片在线观看| 啊v在线免费观看| 好吊色永久免费视频大全| 亚洲欧洲无码AV电影在线观看| 国产婷婷成人久久Av免费高清 | 苍井空亚洲精品AA片在线播放| 日韩精品无码人妻免费视频| 理论片在线观看免费| 中文字幕亚洲乱码熟女一区二区 | 亚洲日本乱码卡2卡3卡新区| 手机在线毛片免费播放| 337P日本欧洲亚洲大胆精品| 久久亚洲国产成人精品无码区| 中文字幕不卡免费视频| 麻豆亚洲av熟女国产一区二| 成人性生交大片免费看无遮挡| 色费女人18女人毛片免费视频| 亚洲中久无码不卡永久在线观看| 精品国产污污免费网站| 在线观看亚洲AV每日更新无码| 啊v在线免费观看| 99re6在线精品视频免费播放| 亚洲夂夂婷婷色拍WW47| 亚洲色偷偷综合亚洲AV伊人| 91精品啪在线观看国产线免费| 日本亚洲精品色婷婷在线影院| 久久精品国产免费观看三人同眠| 伊人久久五月丁香综合中文亚洲 | 二个人看的www免费视频| 亚洲精品高清国产麻豆专区| 国产在线19禁免费观看国产| 精品国产污污免费网站|