a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

Oracle多表查詢

2024-08-29 13:54:54
字體:
來源:轉載
供稿:網友

等值查詢

查詢的時候加入等值條件

有兩個表employees和departments,現在要查詢employees的Last_name和對應的departments的id

SQL> select last_name name,e.department_id eid,d.department_id did,d.department_name from employees e,departments d where e.department_id=d.department_id;

輸出:

------------------------------------- ---------- NAME EID DID DEPARTMENT_NAME------------------------------------- ----------Higgins 110 110 Accounting....106 rows selected.

注意這里的輸出是 106 條記錄,是因為左邊的表 有一條記錄按照where的條件在右邊的表沒有找到,此情況需要用到外連接查詢

不等值查詢

查詢employees的員工last_name,employee_id,salary grades_level(薪資等級)

SQL> select employee_id,last_name,salary,grade_level 2 from employees e,job_grades j 3 where e.salary between j.lowest_sal and j.highest_sal;

輸出:

--------------------- ------------------- ---------EMPLOYEE_ID LAST_NAME SALARY GRADE_LEV-------------------------------------------- --------- 101 Kochhar 17000 E....

外鏈接查詢

左外連接:左邊的值在右邊沒有對應的值,仍然顯示該值; 相反右外連接就是右表的值在左表沒有對應的值,仍然顯示該值;

SQL> select last_name name,e.department_id eid,d.department_id did,d.department_name from employees e,departments d where e.department_id=d.department_id(+);

輸出:

------------------------------------- ---------- NAME EID DID DEPARTMENT_NAME------------------------------------- ----------Higgins 110 110 Accounting....107 rows selected.

此時,結果就有了107條記錄了 此時,問題出現了,我們想讓左表和右表都顯示對方沒有的數據,這個時候不能再使用(+)操作了,需要引入sql 1999語法

join關鍵字和on

使用joinon關鍵字可以實現和上面同樣的功能

SQL> select employee_id,d.department_id,department_name from employees e join departments d on e.department_id = d.department_id;

join 表示鏈接兩張表 on 表示 限制條件

外連接

join之前使用 left outer或者rigth outerfull outer 分別表示左外連接,右外連接,滿外連接(可以吧左右兩張表都不對應的數據全部顯示出來)

SQL> select employee_id,d.department_id,department_name from employees e left outer join departments d on e.department_id = d.department_id;

自連接

要求:查詢公司中員工的老板的信息,因為老板也在員工表,所以是自連接

select emp.last_name,manager.last_name,manager.salary from employees emp,employees manager where emp.manager_id = manager.employee_id and lower(emp.last_name) = 'chen';

輸出:

--------------------------------------------------LAST_NAME LAST_NAME SALARY--------------------------------------------------Chen Greenberg 12000---------------...
上一篇:Oracle12cR1--新特性

下一篇:Oracle基本操作

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩一区二区三区视频 | 91精品国产综合久久久久久蜜臀 | 免费国产一区 | 国产成人精品免费视频大全 | 精品国产精品三级精品av网址 | 国产精品久久久久久久久免费桃花 | 国产一区二区三区免费视频 | 国产美女高潮视频 | 婷婷亚洲综合 | 亚洲最色视频 | av三级在线观看 | 青草成人免费视频 | 蜜臀精品久久久久久蜜臀 | 日韩av资源站 | 黄色网在线播放 | 91精品一区二区 | 亚洲视频一区 | 一区在线视频 | av超碰在线| 日本激情视频在线观看 | 亚洲欧美在线免费 | 国产精品片aa在线观看 | 欧美日韩在线免费观看 | 国产精品欧美一区二区三区 | 韩国女主播bj精品久久 | 国产精品福利免费 | 日本精品视频在线观看 | 国产精品久久一区二区三区 | 久久久久黄 | 日韩激情一区二区 | 精久久久 | 国产91精品一区二区绿帽 | 国产精品a免费一区久久电影 | 国产精品无码久久久久 | 玖玖在线| 欧美激情精品久久久久 | 亚洲最大久久 | 日韩在线视频一区 | 国产精品久久久久久久久动漫 | 红杏aⅴ成人免费视频 | 91免费看片|