表關聯查詢

2021-06-29 01:23:37 字數 1065 閱讀 7703

一 表關聯查詢

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 ...