>  기사  >  데이터 베이스  >  MySQL 하위 쿼리 세부 튜토리얼

MySQL 하위 쿼리 세부 튜토리얼

WBOY
WBOY앞으로
2022-11-02 16:32:211816검색

이 글은 mysql에 대한 관련 지식을 제공하며, where 이후의 중첩 서브 쿼리, from 이후의 중첩 서브 쿼리, select 이후의 중첩 서브 쿼리 등 서브 쿼리에 대한 관련 내용을 주로 소개합니다. 아래 내용이 모든 사람에게 도움이 되기를 바랍니다.

추천 학습: mysql 비디오 튜토리얼

정의: Select 문은 select 문에 중첩되어 있으며 중첩된 select 문은 하위 쿼리입니다.

하위 쿼리는 다음 위치에 나타날 수 있습니다.

select 
	....(select)..
from 
	....(select)..
where 
	....(select)..

1.

select * from emp where sal > (select avg(sal) from emp) ;

2. *

SELECT d.dname,AVG(s.grade) '部门平均薪资' 
FROM emp e
JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal 
JOIN dept d ON e.deptno = d.deptno
GROUP BY d.dname

다음에 중첩된 하위 쿼리

각 직원의 부서 이름을 알아보세요.

4.union

은 쿼리 결과 집합

写法一:看作临时表
SELECT t.ename,d.dname
FROM dept d JOIN (SELECT e.ename,e.deptno FROM emp e) t ON t.deptno = d.deptno   

写法二:连接查询
SELECT e.ename,d.dname FROM emp e JOIN dept d ON e.deptno = d.deptno

写法三:select后嵌套子查询
SELECT e.ename,(SELECT d.dname FROM dept d WHERE d.deptno = e.deptno) AS dept FROM emp e ;

을 추가할 수 있으며 관련되지 않은 두 테이블의 데이터를 함께 연결할 수도 있습니다. (단, 컬럼 개수는 동일합니다.)

SELECT ename,job FROM emp e WHERE job = 'CLERK'
UNION
SELECT ename,job FROM emp e WHERE job = 'SALESMAN'

5.*limit

핵심, 페이징 쿼리는 이에 따라 달라집니다

1) Limit은 mysql에만 있는 것으로 다른 데이터베이스에는 존재하지 않지만 동일한 점이 있습니다. Oracle의 메커니즘은 rownum이라고 합니다.

2) 제한은 결과 집합에서 데이터의 일부를 검색합니다

3) 구문 메커니즘: 제한 startIndex, 길이

startindex는 시작 위치를 나타내며 0부터 시작하고 0은 데이터의 첫 번째 부분을 나타냅니다.

길이는 몇 개를 가져갈 것인지를 의미합니다.

4) Limit은 SQL 문의 마지막 실행 링크입니다.

(현재 페이지 번호 - 1) * 페이지 크기 = 현재 페이지 시작 아래 첨자

추천 학습:

mysql 비디오 튜토리얼

위 내용은 MySQL 하위 쿼리 세부 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제