DQL 資料查詢語句

來源:互聯網
上載者:User

多表查詢

(1) 笛卡爾積

一個表的每一行和第二張表的每一行串連

select* from 表一名,表二名
(2) 等值串連

Select * from emp e,dept d where e.deptno=d.deptno
(3) 非等值串連
Select * from emp e,dept d where e.deptno between ‘01’ and ‘09’

(4) 內串連和外串連

內串連:將滿足條件的多表串連結果顯示,不滿足條件的不顯示

Select ename, job, e.deptno, d.DEPTNO  from emp e INNER JOIN dept d where e.deptno=d.deptno
外串連:將滿足條件的多表串連結果顯示,不滿足條件的也顯示     左外串連   右外串連   mysql不支援全外串連

左外串連

Select ename, job, e.deptno, d.DEPTNO  from emp e LEFT OUTER JOIN dept d on e.deptno=d.deptno

右外串連

Select ename, job, e.deptno, d.DEPTNO  from emp e RIGHT OUTER JOIN dept d USING(DEPTNO) where  e.deptno>'01'
(5) 自串連
SELECT * FROM emp d,emp f WHERE d.EMPNO=f.MGR

(6) 分組函數

最小數: MIN()

最大數: MAX()

求和: SUM()

平均數: AVG()

計數: COUNT()

(7) 分組查詢 GROUP BY

SELECT DEPTNO,count(JOB) FROM emp GROUP BY DEPTNO;

分組函數不能放在 where 子句中可以在 having  句中

(8) 6 個關鍵詞的執行順序

FROM    WHERE    GROUPBY   HAVING   SELECT  ORDER BY

子查詢

(1) 子查詢用小括弧括起來

SELECT ename FROM emp  WHERE (SELECT SAL FROM emp WHERE ENAME='jack')<sal
(2) WHERE子句中的子查詢,子查詢可以包括分組函數

子查詢可以在 WHERE  HAVING  FROM  UPDATE的SET
分組函數可以在 SELECT  HAVING  GROUP BY

SELECT ename FROM  emp  WHERE  (SELECT SAL FROM emp WHERE ENAME = 'jack' ) < salSELECT ename, empno, sal FROM emp  WHERE sal = (SELECT  MIN(SAL)  FROM emp )
(3) 多行子查詢運算子

IN

查詢每個部門工資最低的員工姓名,員工編號,員工薪資

SELECT ename, empno, sal  from emp where sal in (SELECT MIN(sal) FROM emp GROUP BY deptno)
ANY   只要滿足結果任意一行即可
查詢大於所有部門最低工資的員工姓名,員工編號,員工薪資
SELECT ename, empno, sal from emp where sal >ANY (SELECT MIN(sal) FROM emp GROUP BY deptno)
ALL
SELECT ename, empno, sal from emp where sal >ALL (SELECT MIN(sal) FROM emp GROUP BY deptno)
(4)相互關聯的子查詢
SELECT dname, (SELECT count(empno) from emp WHERE emp.deptno=dept.deptno GROUP BY emp.deptno )  FROM dept

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.