• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 1. 데이터 정의 문
    2. 데이터 조작 문
    1. CALL 구문
    2. DELETE 구문
    3. DO 구문
    4. HANDLER 구문
    5. INSERT 구문
    6. LOAD DATA INFILE 구문
    7. LOAD XML 구문
    8. REPLACE 구문
    9. SELECT 구문
    10. 서브 쿼리 구문
    1. 스칼라 피연산자로 서브 쿼리
    2. 서브 쿼리를 사용한 비교
    3. ANY, IN 또는 SOME을 사용한 서브 쿼리
    4. ALL을 사용한 서브 쿼리
    5. 13.2.10.5 row(행) 서브 쿼리
    6. EXISTS 또는 NOT EXISTS를 사용한 서브 쿼리
    7. 상관 서브 쿼리
    8. FROM절의 서브 쿼리
    9. 서브 쿼리 오류
    10. 서브 쿼리의 최적화
    11. 서브 쿼리의 결합으로 재 작성
    11. UPDATE 구문
    3. MySQL 트랜잭션과 잠금 문
    4. 복제 문
    5. Prepared Statements위한 SQL 구문
    6. MySQL 복합문 구문
    7. 데이터베이스 관리 문
    8. MySQL 유틸리티 문
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

13.2.10.11 서브 쿼리의 결합으로 재 작성

경우에 따라서는 일련의 값의 멤버십을 테스트하기 위해 서브 쿼리를 사용하는 다른 방법이있을 수 있습니다. 또한 쿼리 서브 쿼리없이 덮어 쓸 수뿐만 아니라 하위 쿼리를 사용하는 대신 이러한 기술의 일부를 사용하는 것이 효율적이 될 수도 있습니다. 이들 중 하나가 IN() 구조 구문입니다.

예를 들어, 다음 쿼리

 SELECT * FROM t1 WHERE id IN (SELECT id FROM t2);

는 다음과 같이 작성할 수 있습니다.

 SELECT DISTINCT t1 * FROM t1, t2 WHERE t1.id = t2.id;

다음 쿼리

 SELECT * FROM t1 WHERE id NOT IN (SELECT id FROM t2);
 SELECT * FROM t1 WHERE NOT EXISTS (SELECT id FROM t2 WHERE t1.id = t2.id);

는 다음과 같이 작성할 수 있습니다.

 SELECT table1 *
   FROM table1 LEFT JOIN table2 ON table1.id = table2.id
   WHERE table2.id IS NULL;

LEFT [OUTER] JOIN 서버가 그것을 더 잘 최적화 할 수있다 (MySQL Server 만의 고유 한 사실이 없습니다)는 동등한 서브 쿼리보다 속도를 향상시킬 수 있습니다. SQL-92 이전에는 외부 결합이 존재하지 않았기 때문에 서브 쿼리가 특정 작업을 수행하기위한 유일한 방법이었습니다. 오늘은 MySQL Server 및 기타 많은 최신 데이터베이스 시스템이 다양한 유형의 외부 조인을 제공합니다.

MySQL Server는 하나의 테이블에서 정보와 경우에 따라서는 한 번에 다수의 테이블에서 정보를 기반으로 행을 효율적으로 제거하는 데 사용할 수있는 여러 테이블의 DELETE 문을 지원합니다. 또한 여러 테이블의 UPDATE 문을 지원하고 있습니다. 섹션 13.2.2 "DELETE 구문" 및 섹션 13.2.11 "UPDATE 구문" 을 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved