하나,하위 선택 기본 용법 1,하위 선택 정의 하위 선택 은 하나의 조 회 를 다른 조회 에 포함 시 킬 수 있 습 니 다.예 를 들 어 한 시험 점수 항목 은 시험 사건 을 시험(T)과 시험(Q)두 가지 상황 으로 나 누 었 다.아래 의 이 조 회 는 학생 들 의 시험 성적 select 만 찾 을 수 있다. * from score where event_id in (select event_id from event where type='T'); 2,하위 선택의 용법(3 가지) 하위 선택 으로 참고 값 을 생 성 합 니 다.이러한 상황 에서 내부 검색 어 를 사용 하여 데이터 값 을 검색 한 다음 에 이 데이터 값 을 외부 검색 어의 비교 작업 에 사용 합 니 다.예 를 들 어 중 학생 들 이 어느 날 의 테스트 성적 을 조회 하려 면 내부 조 회 를 통 해 먼저 이날 의 테스트 사건 번 호 를 찾 은 다음 에 외부 조회 문 에서 이 사건 번호 로 성적표 에서 학생 들 의 점수 기록 을 찾 아야 한다.선택 * from score where id=(select event_id from event where date='2002-03-21' and type='Q'); 주의해 야 할 것 은 이러한 내부 조 회 를 응용 한 결 과 는 주로 비교 작업 을 하 는 분 법 일 때 내부 조 회 는 하나의 출력 결과 만 있어 야 한 다 는 것 이다.예 를 들 어 어느 미국 대통령의 생일 이 가장 작은 지 알 고 싶다 면 다음 과 같은 조 회 를 구성 하 세 요 select * from president where birth=min(birth)이 조 회 는 틀 렸 습 니 다!MySQL 은 자구 에서 통계 함 수 를 사용 할 수 없 기 때 문 입 니 다!min()함 수 는 정확 한 매개 변수 가 있어 야 작업 할 수 있 습 니 다!그래서 우 리 는 하위 선택 으로 바 꾸 었 다.select * from president where birht=(select min(birth) from presidnet); exists 화해시키다 not exists 하위 선택 상의 용법 은 조사 간 결 과 를 내부 에서 외부 로 전달 하 는 것 이 고,이러한 용 법 은 반대로 외부 조회 결 과 를 내부 로 전달 하 는 것 이다.외부 조회 결과 가 내부 조사 간 의 일치 경 로 를 만족 시 키 는 지 확인 하 세 요.이러한'외부 에서 안 으로'의 하위 반복 선택 방법 은 특정한 데이터 시트 를 검색 하 는 데 매우 적합 하 다.다른 데이터 시트 에 일치 하 는 기록 데이터 시트 t1 이 설치 되 어 있다. 데이터 시트 t2 I1 C1 I2 C2 1 2 3 A C 2 3 4 C A 는 먼저 두 개의 표 안에 존재 하 는 데 이 터 를 찾 습 니 다 select i1 from t1 where exists(select * from t2 where t1.i1=t2.i2); t1 표 에 존재 하 는 t2 표 에 존재 하지 않 는 데이터 select 를 찾 습 니 다. i1 form t1 where not exists(select * from t2 where t1.i1=t2.i2); 주의:이 두 가지 형식의 하위 선택 에서 내부 조회 의 별 번 호 는 외부 조회 의 출력 결 과 를 대표 합 니 다.내부 조 회 는 데이터 열 에 관 한 이름 을 열거 할 필요 가 없다.전 은 내부 조 회 를 위해 외부 조회 결과 가 몇 줄 인지 에 관심 이 있다.그 걸 이해 해 주 셨 으 면 좋 겠 습 니 다. in 하지 in 하위 선택 은 이 피 드 선택 에서 내부 검색 어 는 하나의 데이터 열 만 되 돌려 야 합 니 다.이 데이터 열 에 있 는 값 은 외부 검색 어 에서 의 비교 작업 으로 값 을 구 할 것 입 니 다.아니면 위의 문 제 를 예 로 들 어 두 표 안에 존재 하 는 데 이 터 를 찾 아 select i1 from t1 where i1 in (select i2 from t2); t1 표 에 존재 하 는 t2 표 에 존재 하지 않 는 데이터 select 를 찾 습 니 다. i1 form t1 where i1 not in (select i2 from t2); 이런 문 구 는 사람들 로 하여 금 더욱 쉽게 이해 하 게 하 는 것 같다.예 를 들 어 A 와 B 에 사 는 모든 학생 을 찾 고 싶다.select * from student where state in('A','B')둘, 하위 선택 조 회 를 관련 조회 로 바 꾸 는 방법.1.매 칭 형 서브 선택 조회 의 다음 예 는 score 데이터 시트 에서 학생 들 이 시험 사건(T)에서 의 성적(시험 성적 은 포함 되 지 않 습 니 다!)조회 해 내다.Select * from score where event_id in (select event_id from event where type='T'); 이 를 통 해 내부 조 회 는 모든 시험 사건 을 찾아내 고 외부 조 회 는 이 시험 사건 을 재 활용 해 학생 들 의 성적 을 얻 는 것 을 알 수 있다.이 하위 조 회 는 간단 한 관련 조회 로 바 꿀 수 있 습 니 다:Select score.* from score, event where score.event_id=event.event_id and event.event_id='T'; 다음 예 는 모든 여학생 의 성적 을 찾 는 데 쓸 수 있다.Select * from score where student_id in (select student_id form student where sex = ‘f'); 다음 과 같은 관련 검색 으로 변환 할 수 있 습 니 다:Select * from score Where student _id =student.student_id and student.sex ='f'; 일치 형 하위 선택 조 회 를 관련 조회 로 바 꾸 는 것 은 규칙 적 으로 따라 갈 수 있다.다음 과 같은 형식의 하위 선택 조회:Select * from tablel Where column1 in (select column2a from table2 where column2b = value); 다음 과 같은 관련 조회 로 변환 할 수 있 습 니 다:Select tablel. * from tablel,table2 Where table.column1 = table2.column2a and table2.column2b = value; (2)일치 하지 않 는(즉 결여)형 서브 선택 조회 의 개작 서브 선택 조회 의 또 다른 흔 한 용 도 는 특정한 데이터 시트 에 있 지만 다른 데이터 시트 에 없 는 것 을 찾 는 것 이다.앞에서 보 듯 이'어떤 데이터 시트 에 있 고 다른 데이터 시트 에 없다'는 표현 은 보통 하나의 left 를 사용 할 수 있 음 을 암시 한다. join 이 문 제 를 해결 하 겠 습 니 다.아래 의 이 하위 선택 조 회 를 보십시오.absence 데이터 테이블 에 나타 나 지 않 은 학생(즉,결근 한 적 이 없 는 학생)을 찾 아 낼 수 있 습 니 다.Select * from student Where student_id not in (select student_id from absence); 이 하위 선택 조 회 는 다음 과 같은 left 를 고 칠 수 있 습 니 다. join 조회:선택 student. * From student left join absence on student.student_id =absence.student_id Where absence.student_id is null; 일치 하지 않 는 하위 선택 조 회 를 관련 조회 로 바 꾸 는 것 은 규칙 적 이다.다음 과 같은 형식의 하위 선택 조회:Select * from tablel Where column1 not in (select column2 from table2); 다음 과 같은 관련 조회 로 변환 할 수 있 습 니 다:Select tablel . * From tablel left join table2 on tablel.column1=table2.column2 Where table2.column2 is null; 메모:이 변경 요구 데이터 열 table 2.column 2 성명 은 not 입 니 다. null。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: