MySQL 에서 하위 조회 와 양자 조 회 를 사용 하 는 기본 작업 튜 토리 얼

2574 단어 MySQL하위 조회
MySQL 하위 검색
하위 조 회 는 하나의 SELECT 문장의 조회 결 과 를 중간 결과 로 하여 다른 SQL 문 구 를 호출 하 는 것 입 니 다.MySQL 은 SQL 표준 이 요구 하 는 모든 하위 조회 형식 과 작업 을 지원 하 며 특유 의 몇 가지 특성 을 확장 합 니 다.
하위 조회 에는 고정된 문법 이 없습니다.하위 조회 의 예 는 다음 과 같 습 니 다.

SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1)
대응 하 는 두 개의 데이터 테이블 은 다음 과 같다.
article 문장 표:
20151216174700333.png (634×129)
user 사용자 테이블:
20151216174728484.png (651×109)
조회 반환 결 과 는 다음 과 같다.
20151216174746208.png (635×105)
이 예 에서 먼저 하위 검색 어 를 통 해 모든 status=1 의 uid 를 조회 합 니 다.실제 검색 은 다음 과 같 습 니 다.

SELECT * FROM article WHERE uid IN(1,2)
MySQL 표준 양자 조회
양자 조 회 는 하위 조회 가 하나의 숫자 나 문자열 같은 단일 값 의 스칼라 를 되 돌려 주 는 것 을 말 하 며,하위 조회 에서 가장 간단 한 반환 형식 이기 도 합 니 다.
양자 조회 의 예 는 다음 과 같다.

SELECT * FROM article WHERE uid = (SELECT uid FROM user WHERE status=1 ORDER BY uid DESC LIMIT 1)
이 예 에서 하위 검색 어:

SELECT uid FROM user WHERE status = 1 ORDER BY uid DESC LIMIT 1
단일 한 숫자(예 를 들 어 2)를 되 돌려 줍 니 다.실제 검색 어 는 다음 과 같 습 니 다.

SELECT * FROM article WHERE uid = 2
하위 검색 으로 비교
이 조작 부호 들 은 하위 조회 의 표 량 결 과 를 비교 할 수 있 습 니 다.보통 하위 조회 의 위 치 는 비교 식 오른쪽 에 있 습 니 다.

SELECT * FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2)
제시 하 다.
이 조작 부호 중 하 나 를 사용 하여 비교 할 때,하위 조 회 는 반드시 표 량 을 되 돌려 야 한다.유일한 예 외 는=줄 조회 와 동시에 사용 할 수 있다.
하위 조회 와 테이블 연결
많은 경우 에 하위 조회 의 효 과 는 JOIN 표 와 유사 하지만 일부 특수 한 상황 에서 하위 조회 로 연결 해 야 하 며 표 로 연결 할 수 없습니다.예 를 들 어:

SELECT * FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2)
그리고 다음 예:

SELECT * FROM article AS t WHERE 2 = (SELECT COUNT(*) FROM article WHERE article.uid = t.uid)
이 예 는 사용자 가 두 편의 글 을 발표 한 모든 글 기록 을 찾 아야 한다.대응 하 는 두 개의 데이터 테이블 은 다음 과 같다.
article 문장 표:
20151216174809098.png (647×127)
user 사용자 테이블:
20151216174824703.png (640×100)
조회 반환 결 과 는 다음 과 같다.
20151216174907878.png (654×87)

좋은 웹페이지 즐겨찾기