回覆列表
  • 1 # 影片好笑

    資料表的連線有: 1、內連線(自然連線): 只有兩個表相匹配的行才能在結果集中出現 2、外連線: 包括 (1)左外連線(左邊的表不加限制) (2)右外連線(右邊的表不加限制) (3)全外連線(左右兩表都不加限制) 3、自連線(連線發生在一張基表內) select a.studentno, a.studentname, b.classname from students a, classes b where a.classid(+) = b.classid; STUDENTNO STUDENTNAM CLASSNAME ---------- ---------- ------------------------------ 1 A 一年級一班 2 B 一年級二班 一年級三班 以上語句是右連線: 即"(+)"所在位置的另一側為連線的方向,右連線說明等號右側的所有 記錄均會被顯示,無論其在左側是否得到匹配。也就是說上例中,無 論會不會出現某個班級沒有一個學生的情況,這個班級的名字都會在 查詢結構中出現。 反之: select a.studentno, a.studentname, b.classname from students a, classes b where a.classid = b.classid(+); STUDENTNO STUDENTNAM CLASSNAME ---------- ---------- ------------------------------ 1 A 一年級一班 2 B 一年級二班 3 C 則是左連線,無論這個學生有沒有一個能在一個班級中得到匹配的部門號, 這個學生的記錄都會被顯示。 select a.studentno, a.studentname, b.classname from students a, classes b where a.classid = b.classid; 這個則是通常用到的內連線,顯示兩表都符合條件的記錄 總之, 左連線顯示左邊全部的和右邊與左邊相同的 右連線顯示右邊全部的和左邊與右邊相同的 內連線是隻顯示滿足條件的!

  • 中秋節和大豐收的關聯?
  • 過年了,該買車了。10萬左右的車哪個好一點?