Oracle之子查詢(巢狀查詢select巢狀)

2021-09-08 12:22:57 字數 1795 閱讀 8252

--查詢最高工資的員工資訊 

--1.查詢出最高工資 --5000

select max(sal) from emp;

--2. 工資等於最高工資

select * from emp where sal = (select max(sal) from emp);

--查詢出比雇員7654的工資高,同時和7788從事相同工作的員工資訊

--1.雇員7654的工資 1250

select sal from emp where empno = 7654;

--2.7788從事的工作 analyst

select job from emp where empno = 7788;

--3.兩個條件合併

select * from emp where sal > (select sal from emp where empno = 7654) and job = (select job from emp where empno = 7788);

--查詢每個部門最低工資的員工資訊和他所在的部門資訊

select e.deptno, min(e.sal) from emp e group by e.deptno;

select * from emp e1

inner join (select e.deptno, min(e.sal) minsal from emp e group by e.deptno) t1

on e1.deptno=t1.deptno and e1.sal=t1.minsal

exist(當做布林值來處理,當查詢語句有結果時,返回true,否則返回false)

--查詢不到資料    

select * from emp where exists(select * from emp where deptno = 123456);

--查詢emp中所有記錄 相對於where後條件永遠為true

select * from emp where exists(select * from emp where deptno = 20);

--查詢有員工的部門的資訊

select * from dept d1 where exists(select * from emp e1 where e1.deptno = d1.deptno );

--查詢不是領導的資訊(含null值正確寫法)

select * from emp where empno not in (select mgr from emp where mgr is not null); --查詢出8條記錄

通常情況下, 資料庫中不要出現null,最好的做法加上非空約束not null,null值並不代表不佔空間, char(100) null佔100個字元

--查詢不是領導的資訊(含null值錯誤寫法)

select * from emp where empno not in (select mgr from emp); --查詢不到記錄

select * from emp where empno <>all(select mgr from emp);--上行等價寫法

--查詢不是領導的資訊(含null值正確寫法)

select * from emp where empno not in (select mgr from emp where mgr is not null); --查詢出8條記錄

Oracle巢狀查詢(入門)

第 一 什麼是巢狀查詢?是指將乙個查詢結果作為另乙個查詢中where條件的物件。巢狀查詢也可用連線查詢代替。如 select from table1 where 字段 in select from table2 where 字段 設定值 第二 巢狀查詢的分類 1 帶有in謂詞的子查詢 2 比較運算子...

mysql之子查詢

所謂子查詢,就是指在乙個查詢之中巢狀了其他的若干查詢,通過子查詢可以實現多表查詢,該查詢語句中可能包含in,any,all和exists等關鍵字,除此之外還可以包含比較運算子,子查詢經常出現在where和from字句中。where字句中的子查詢 該位置處的子查詢一般返回單行單列,多行單列,單行多列資...

MySQL 之子查詢

定義 子查詢指乙個查詢語句巢狀在另乙個查詢語句內部的查詢,這個特性從 mysql4.1 開始引入,在 select 子句中先計算子查詢,子查詢結果作為外層另乙個查詢的過濾條件,查詢可以基於乙個表或者多個表。子查詢中常用的操作符有 any some all in 和 exists。子查詢可以新增到 s...