Mysql 중첩 하위 쿼리
하위 쿼리는 독자에게 하위 쿼리의 개념을 더 명확하게 하기 위해 완전한 쿼리 문에 서로 다른 기능을 가진 여러 개의 작은 쿼리를 중첩하여 복잡한 쿼리를 완성하는 작성 형식을 말합니다.
하위 쿼리는 결과를 반환합니다.
하위 쿼리가 반환할 수 있는 데이터 유형은 네 가지 유형으로 나뉩니다.
단일 행 및 단일 열: 반환되는 것은 특정 열의 내용입니다.
단일 행 및 다중 열: 데이터의 한 행에 있는 여러 열의 내용을 반환합니다.
다중 행 및 단일 열: 레코드의 여러 행에 있는 동일한 열의 내용을 반환합니다.
다중 행 다중 열: 쿼리에서 반환된 결과는 임시 테이블입니다.
WHERE 절에서 하위 쿼리를 사용합니다.
단일 행 및 단일 열 하위 쿼리를 처리합니다. , 다중 행 및 단일 열 하위 쿼리, WHERE 절의 단일 행 및 다중 열 하위 쿼리.
단일 행 및 단일 열 하위 쿼리
**예시 1, **회사에서 급여가 가장 낮은 사원의 전체 정보를 쿼리합니다.
--查询公司之中工资最低的雇员的完整信息 SELECT * FROM emp e WHERE e.sal=( SELECT MIN(sal) FROM emp);
**예시 2, **기본 급여가 가장 낮은 모든 사원의 정보를 쿼리합니다. 급여가 ALLEN보다 낮음
-- 查询出基本工资比ALLEN低的全部雇员信息 SELECT * FROM emp e WHERE e.sal<( SELECT sal FROM emp WHERE ename='ALLEN' );
**예시 3, **기본급이 회사 평균급여보다 높은 모든 사원의 정보를 조회
--查询基本工资高于公司平均薪金的全部雇员信息 SELECT * FROM emp e WHERE e.sal>( SELECT AVG(sal) FROM emp);
단일 행 및 다중 열 하위 쿼리.
**예시 4, **사원번호 7521보다 기본급이 높은 ALLEN과 동일한 직업을 갖고 있는 모든 사원에 대한 정보를 알아보세요,
--查找出与ALLEN从事同一工作,并且基本工资高于雇员编号为7521的全部雇员信息, SELECT * FROM emp e WHERE e.job=( SELECT job FROM emp WHERE ename='ALLEN') AND e.sal>( SELECT sal FROM emp WHERE empno=7521);
**예시 5, **와 같은 직업을 가지고 있는지 쿼리하고 SCOTT과 동일한 급여를 가진 직원 정보
SELECT * FROM emp e WHERE (e.job,e.sal) = ( SELECT job,sal FROM emp WHERE ename='SCOTT') AND ename<>'SCOTT';
**예 6, **직원 7566과 동일한 직무에 있고 동일한 리더십을 가진 모든 직원의 정보를 쿼리합니다.
--查询与雇员7566从事同一工作且领导相同的全部雇员信息 SELECT * FROM emp e WHERE (e.job,e.mgr) =( SELECT job,mgr FROM emp WHERE empno=7566 );
**예 7, **모두 쿼리 ALLEN과 같은 직장에 있고 같은 해에 근무한 직원 직원 정보(ALLEN 포함)
--查询与ALLEN从事同一工作且在同一年雇佣的全部雇员信息(包括ALLEN) SELECT * FROM emp e WHERE (e.job,to_char(e.hiredate,'yyyy'))=( SELECT job,to_char(hiredate,'YYYY') FROM emp WHERE ename='ALLEN' );
다행 단일 열 하위 쿼리
주로 IN, ANY, ALL 세 가지 연산자를 사용합니다
IN 연산
**예시 8, **각 부서 관련 정보 조회 최저임금이 동일한 모든 사원정보를 조회
--查询出与每个部门中最低工资相同的全部雇员信息 SELECT * FROM emp e WHERE e.sal IN( SELECT MIN(sal) FROM emp GROUP BY deptno );
**예시 9. **부서별로 최저임금이 동일하지 않은 모든 사원정보를 조회
--查询出不与每个部门中最低工资相同的全部雇员信息 SELECT * FROM emp e WHERE e.sal NOT IN( SELECT MIN(sal) FROM emp GROUP BY deptno );
FROM 하위 쿼리:
FROM 절 다음의 데이터 소스 데이터 테이블뿐만 아니라 쿼리 결과도 가능합니다. FROM 하위 쿼리입니다.
보통 FROM 하위 쿼리의 반환 유형은 다중 행, 다중입니다. -column result setjavascript
평균 급여가 2,000보다 높은 직위와 해당 직위의 평균 급여를 쿼리합니다. java
第一种方式:能够使用HAVING字句实现 SELECT job,AVG(sal) FROM emp GROUP BY job HAVING AVG(sal)>2000; 第二种方式:使用FROM子查询 SELECT job,avgsal FROM ( SELECT job,AVG(sal) AS avgsal FROM emp GROUP BY job) temp WHERE temp.avgsal>2000;
커미션이 있고 급여가 커미션보다 높은 직원 정보 쿼리: web
SELECT e1.empno,e1.ename,e1.comm,e2.sal FROM emp e1,emp e2 WHERE e1.comm IS NOT NULL AND e1.comm<e2.sal AND e1.empno=e2.empno;
요약:
1.FROM 하위 쿼리의 데이터 소스는 다른 쿼리의 결과입니다. 결과는 임시 데이터 테이블
2과 같습니다. 원하는 경우 하위 쿼리에 대해 별칭을 정의해야 합니다. 하위 쿼리의 필드를 사용하려면 "alias.field name" 메서드를 사용하여
select subquery
를 참조해야 합니다. select 이후의 하위 쿼리는 스칼라 쿼리로만 사용할 수 있습니다#Case: Query the number of subquery
각 부서의 직원SELECT d.*,( SELECT COUNT(*) FROM employees WHERE employees.`department_id`=d.department_id ) FROM departments d;#사례: 부서명을 사원번호로 쿼리 = 102
SELECT department_name FROM employees e INNER JOIN departments d ON e.`department_id`=d.`department_id` WHERE e.`employee_id`=102;서브 쿼리 사용
SELECT (
SELECT department_name
FROM
employees e
INNER JOIN
departments d
ON
e.`department_id`=d.`department_id`
WHERE
e.`employee_id`=102
);
`department_id`=d.`department_id`
WHERE
e.`employee_id`=102;
서브 쿼리 사용SELECT (
SELECT department_name
FROM
employees e
INNER JOIN
departments d
ON
e.`department_id`=d.`department_id`
WHERE
e.`employee_id`=102
);
위 내용은 MySQL에서 중첩된 하위 쿼리 문제를 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

innodbbufferpool은 데이터와 인덱싱 페이지를 캐싱하여 디스크 I/O를 줄여 데이터베이스 성능을 향상시킵니다. 작업 원칙에는 다음이 포함됩니다. 1. 데이터 읽기 : BufferPool의 데이터 읽기; 2. 데이터 작성 : 데이터 수정 후 BufferPool에 쓰고 정기적으로 디스크로 새로 고치십시오. 3. 캐시 관리 : LRU 알고리즘을 사용하여 캐시 페이지를 관리합니다. 4. 읽기 메커니즘 : 인접한 데이터 페이지를 미리로드합니다. Bufferpool을 크기를 조정하고 여러 인스턴스를 사용하여 데이터베이스 성능을 최적화 할 수 있습니다.

다른 프로그래밍 언어와 비교할 때 MySQL은 주로 데이터를 저장하고 관리하는 데 사용되는 반면 Python, Java 및 C와 같은 다른 언어는 논리적 처리 및 응용 프로그램 개발에 사용됩니다. MySQL은 데이터 관리 요구에 적합한 고성능, 확장 성 및 크로스 플랫폼 지원으로 유명하며 다른 언어는 데이터 분석, 엔터프라이즈 애플리케이션 및 시스템 프로그래밍과 같은 해당 분야에서 이점이 있습니다.

MySQL은 데이터 저장, 관리 및 분석에 적합한 강력한 오픈 소스 데이터베이스 관리 시스템이기 때문에 학습 할 가치가 있습니다. 1) MySQL은 SQL을 사용하여 데이터를 작동하고 구조화 된 데이터 관리에 적합한 관계형 데이터베이스입니다. 2) SQL 언어는 MySQL과 상호 작용하는 열쇠이며 CRUD 작업을 지원합니다. 3) MySQL의 작동 원리에는 클라이언트/서버 아키텍처, 스토리지 엔진 및 쿼리 최적화가 포함됩니다. 4) 기본 사용에는 데이터베이스 및 테이블 작성이 포함되며 고급 사용량은 Join을 사용하여 테이블을 결합하는 것과 관련이 있습니다. 5) 일반적인 오류에는 구문 오류 및 권한 문제가 포함되며 디버깅 기술에는 구문 확인 및 설명 명령 사용이 포함됩니다. 6) 성능 최적화에는 인덱스 사용, SQL 문의 최적화 및 데이터베이스의 정기 유지 보수가 포함됩니다.

MySQL은 초보자가 데이터베이스 기술을 배우는 데 적합합니다. 1. MySQL 서버 및 클라이언트 도구를 설치하십시오. 2. SELECT와 같은 기본 SQL 쿼리를 이해하십시오. 3. 마스터 데이터 작업 : 데이터를 만들고, 삽입, 업데이트 및 삭제합니다. 4. 고급 기술 배우기 : 하위 쿼리 및 창 함수. 5. 디버깅 및 최적화 : 구문 확인, 인덱스 사용, 선택*을 피하고 제한을 사용하십시오.

MySQL은 테이블 구조 및 SQL 쿼리를 통해 구조화 된 데이터를 효율적으로 관리하고 외래 키를 통해 테이블 간 관계를 구현합니다. 1. 테이블을 만들 때 데이터 형식을 정의하고 입력하십시오. 2. 외래 키를 사용하여 테이블 간의 관계를 설정하십시오. 3. 인덱싱 및 쿼리 최적화를 통해 성능을 향상시킵니다. 4. 데이터 보안 및 성능 최적화를 보장하기 위해 데이터베이스를 정기적으로 백업 및 모니터링합니다.

MySQL은 웹 개발에 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 주요 기능에는 다음이 포함됩니다. 1. 다른 시나리오에 적합한 InnoDB 및 MyISAM과 같은 여러 스토리지 엔진을 지원합니다. 2.로드 밸런싱 및 데이터 백업을 용이하게하기 위해 마스터 슬레이브 복제 기능을 제공합니다. 3. 쿼리 최적화 및 색인 사용을 통해 쿼리 효율성을 향상시킵니다.

SQL은 MySQL 데이터베이스와 상호 작용하여 데이터 첨가, 삭제, 수정, 검사 및 데이터베이스 설계를 실현하는 데 사용됩니다. 1) SQL은 Select, Insert, Update, Delete 문을 통해 데이터 작업을 수행합니다. 2) 데이터베이스 설계 및 관리에 대한 생성, 변경, 삭제 문을 사용하십시오. 3) 복잡한 쿼리 및 데이터 분석은 SQL을 통해 구현되어 비즈니스 의사 결정 효율성을 향상시킵니다.

MySQL의 기본 작업에는 데이터베이스, 테이블 작성 및 SQL을 사용하여 데이터에서 CRUD 작업을 수행하는 것이 포함됩니다. 1. 데이터베이스 생성 : createAbasemy_first_db; 2. 테이블 만들기 : CreateTableBooks (idintauto_incrementprimarykey, titlevarchar (100) notnull, authorvarchar (100) notnull, published_yearint); 3. 데이터 삽입 : InsertIntobooks (Title, Author, Published_year) VA


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
