日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

多表查詢

 印度阿三17 2020-03-22

等值連接

三個(gè)表之間的連接:

select e.employee_id,e.department_id,d.department_name,l.city
from employees e,departments d ,locations l
where e.department_id = d.department_id and l.location_id = d.location_id;
EMPLOYEE_ID DEPARTMENT_ID DEPARTMENT_NAME                CITY                         
----------- ------------- ------------------------------ ------------------------------
        100            90 Executive                      Seattle                        
        101            90 Executive                      Seattle                        
        102            90 Executive                      Seattle                        
        103            60 IT                             Southlake   

?注意:連接n個(gè)表,至少需要? n-1? 個(gè)連接條件,如連接三個(gè)表至少需要兩個(gè)連接條件

?

非等值連接

select  distinct grade_level ,lowest_sal,highest_sal from job_grades;
GRADE_LEVEL LOWEST_SAL HIGHEST_SAL
----------- ---------- -----------
E                15000       24999 
C                 6000        9999 
D                10000       14999 
F                25000       40000 
A                 1000        2999 
B                 3000        5999 

?

select distinct e.employee_id, e.last_name,e.salary, j.grade_level
from employees e ,job_grades j
where e.salary between j.lowest_sal and j.highest_sal;
EMPLOYEE_ID LAST_NAME                     SALARY GRADE_LEVEL
----------- ------------------------- ---------- -----------
        201 Hartstein                      13000 D           
        205 Higgins                        12000 D           
        170 Fox                             9600 C           
        153 Olsen                           8000 C    

與等值連接的不同在與過(guò)濾條件

沒(méi)有過(guò)濾條件會(huì)出現(xiàn)笛卡爾積錯(cuò)誤

?

?

-- 左外連接(左外聯(lián)接):? ?左表中多一個(gè), 需要在右表中加上一個(gè)

select e.last_name,e.department_id,d.department_name
from employees e,departments d 
where e.department_id = d.department_id( );
LAST_NAME                 DEPARTMENT_ID DEPARTMENT_NAME              
------------------------- ------------- ------------------------------
Wha_len                              10 Administration                 
Fay                                  20 Marketing                                    
Gietz                               110 Accounting                     
Higgins                             110 Accounting                     
Grant                                                                  

 選定了 107 行 

?

右外連接:與左外連接相對(duì)應(yīng)

注意左外連接 和右外連接不能同時(shí)存在

?

?

-- 兩表之間連接和? where 連接條件 效果 相同的? ??

-- join ...on

select e.last_name,e.department_id,d.department_name
from employees e join departments d 
on e.department_id = d.department_id;
LAST_NAME                 DEPARTMENT_ID DEPARTMENT_NAME              
------------------------- ------------- ------------------------------
King                                 90 Executive                      
Kochhar                              90 Executive                      
De Haan                              90 Executive                      
Hunold                               60 IT           

?

-- 三個(gè)表的連接: join...on后面接著join ...on

select e.last_name,e.department_id,d.department_name,l.city
from employees e join departments d 
on e.department_id = d.department_id
join locations l
on d.location_id = l.location_id;
LAST_NAME                 DEPARTMENT_ID DEPARTMENT_NAME                CITY                         
------------------------- ------------- ------------------------------ ------------------------------
King                                 90 Executive                      Seattle                        
Kochhar                              90 Executive                      Seattle                        
De Haan                              90 Executive                      Seattle                        
Hunold                               60 IT                             Southlake 

?

--左外連接及右外連接:

select e.last_name,e.department_id,d.department_name
from employees e left join departments d 
on e.department_id = d.department_id;

?

--滿外連接

select e.last_name,e.department_id,d.department_name
from employees e full join departments d 
on e.department_id = d.department_id;

?

-- 自連接

--查詢公司中員工 'Chen'? 的manger的信息

select emp.last_name,manager.last_name,manager.salary,manager.email 
from employees emp,employees manager
where emp.manager_id = manager.employee_id and lower(emp.last_name) = 'chen';
LAST_NAME                 LAST_NAME                     SALARY EMAIL                   
------------------------- ------------------------- ---------- -------------------------
Chen                      Greenberg                      12000 NGREENBE                  

?

來(lái)源:https://www./content-4-664801.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多