一 表關聯查詢
1.表的關聯分兩類
有關係的關聯
無關係的關聯
2.表的有關係的關聯(內關聯)
where 指定關聯關係
表1.欄位=表2.欄位 and 表2.欄位=表3.欄位
有關係關聯:
通過字段關係,把多張表合併在一起.
select s_emp.id,first_name,name from s_emp,s_dep
where s_emp.dep_id=s_dept.id;
//select s_emp.id,firs_name,name from s_emp
inner join s_dept on (s_emp.dept_id=s_dpt.id);
選擇字段:*
字段列表
表.欄位列表
表.*,字段
3.外關聯:(outer join)
左關聯(left outer join) 以哪個表字段為主而定義
右關聯(right outer join)
完全關聯(full outer join)
外關聯與內關聯語法
delete from s_emp where id>25;
select s_emp.id,first_name,s_dept.id,name from s_emp,s_dept
//where s_emp.dept_id=s_dept.id(+);表示把這個表關聯到左邊
right outer joins_dept on (s_emp.dept_id=s_dpt.id);
//where s_emp.dept_id(+)=s_dept.id;
left outer joins_dept on (s_emp.dept_id=s_dpt.id);
full outer joins_dept on (s_emp.dept_id=s_dpt.id);
4.自關聯:
select e.id,e.first_name,m.first_name from s_emp as e,s_emp as m
where e.manager_id=m.id;
表關聯查詢
一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.select table1.column,table2.column from table1 inner left right...
表關聯查詢
一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.selecttable1.column,table2.columnfromtable1 inner left right fu...
MySQL多張表關聯查詢
工作中遇到的問題,其實也不算難,最多算是複雜了一丟丟。有四張表,a,b,c,d 假設 a 商戶表,有欄位code b 商戶普通使用者表,也有字段code ps code是關聯著三張表的重要字段 c 商戶會員表,沒有與其關聯的code,但是有card code欄位與d表中的card code關聯 d ...