eg: select s.sno, s.sname, sc.cno from student s, sc where s.sno=sc.sno; (可使同一表自身鏈接)oracle
eg: select s.sno, s.sname, cno, grade from student s, sc where grade between x and y;spa
一、左外鏈接:使用 left outer join 子句 後用 on 來建立連接條件,該鏈接方式輸出知足鏈接條件的結果以及左表不知足鏈接條件的結果select
eg: select s.sno, s.sname, sc.cno, sc.grade from student s left outer join sc on s.sno=sc.sno 數據類型
二、右外鏈接:使用 right outer join 子句 後用 on 來建立連接條件,該鏈接方式輸出知足鏈接條件的結果以及右表不知足鏈接條件的結果數據
eg: select s.sno, s.sname, sc.cno, sc.grade from student s right outer join sc on s.sno=sc.sno 查詢
三、全外鏈接:使用 full outer join 子句 後用 on 來建立連接條件,該鏈接方式輸出知足鏈接條件的結果以及兩表不知足鏈接條件的結果co
eg: select s.sno, s.sname, sc.cno, sc.grade from student s full outer join sc on s.sno=sc.sno join
四、使用on子句建立多表鏈接:錯誤
eg: select s.sno, s.sname, c.cno, c.cname, sc.grade from student s join sc on s.sno=sc.sno join course on c.cno=sc.cno
select sno, sname, cno from student natural join sc; 注:天然鏈接時可使用using子句指定等值鏈接中所須要用到的列,natural join 和 using 常常同時使用,而且using當中不要給列加上表名前綴
順便一記:以上例子都用到了別名,按照oracle的執行方式(先進執行from子句,在執行where等條件查詢,最後執行select),最好在from子句中定義好別名,否則可能出錯