資料庫連線查詢

2022-09-03 14:36:12 字數 2545 閱讀 1373

--

部門表 createtable department(idnumberprimarykey,namevarchar2(30));

--員工表

createtable employee( idnumberprimarykey, namevarchar2(30)notnull,  salary number(6,2),  title varchar2(30),  manager number,  deptidnumber);

--插入資料

insertinto department values(1,'人力資源');

insertinto department values(2,'開發中心');

insertinto department values(3,'總裁室');

insertinto department values(4,'運維中心');

insertinto employee values(4,'趙六',9000,'專案經理',null,2);

insertinto employee values(3,'王五',7000,'專案組長',4,2);

insertinto employee values(1,'張三',6000,'程式設計師',3,2);

insertinto employee values(2,'李四',7000,'hr',4,1);

droptable department;

droptable employee;

1.笛卡爾集中滿足on條件的記錄,當沒有限制on條件時,為兩個表的笛卡爾集

2.和自然連線類似,使用where限制

3.只有滿足限制條件的記錄才會返回到結果集中

select * from employee,department ; --也是內連線的一種形式

--上兩sql等價

select * from employee e,department d where e.deptid=d.id;

select * from employee e join department d on e.deptid=d.id;

--上兩sql等價

自連線

1.同乙個表當兩個不同的兩個表,兩個表做連線。2.一般表的兩個欄位間有上下級關係

2.內連線的特殊形式

查詢員工的上級 (查不出沒有上級的人物)

select s1.id,s1.name,s2.name as manager from employee s1,employee s2 where (s1.manager=s2.id);

left join(left out join)

1.在右表中沒有滿足on的限制條件的記錄也返回的結果集,即會返回左表的所有行。

right join(right out join)

1.在左表中沒有滿足on的限制條件的記錄也返回的結果集,即會返回右表的所有行。

full join (full out join)

1.在左表中和右表中沒有滿足限制條件的記錄都返回到結果集中

select * from employee e full join department d on e.deptid=d.id;

1.沒有where條件,返回兩個表的笛卡兒積

2.等價於沒有限制條件的內連線

select * from employee e cross join department ;

select * from employee,department ;

select * from employee inner join department on 1=1;

上面三條等價

上面三條等價

資料庫連線查詢

一 交叉連線查詢 將第一張表的所有記錄分別與第二張表的每條記錄形成一條新的記錄。select 列名 from 表名1 cross join 表名2 二 內連線查詢 返回多個表中滿足連線條件的記錄 select 表名1.列名1 from 表名1 inner join 表名2 on 連線條件 selec...

資料庫連線查詢

資料庫連線查詢主要分為 自連線查詢,內連線和外連線查詢。1.自連線查詢 對同乙個表進行查詢,語法,定義了乙個表的兩個別名,操作的還是乙個表 select from table t1,table t2 where t1.sales t2.sales2.內連線 內連線查詢實際上是一種任意條件的查詢。使用...

資料庫 連線查詢

連線方式 顯示左表及右表符合連線條件的記錄 顯示左表的全部記錄及右表符合連線條件的記錄,右表不符合條件的顯示null 顯示右表的全部記錄及左表符合連線條件的記錄,左表不符合條件的顯示null 內連線內連線,也稱為等值連線 顯示左表及右表符合連線條件 字段匹配關係 的記錄 將兩張表的列組合在一起,產出...