Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- pm2 확인
- c# datagridview 데이터 넣기
- AntDesign
- 1883
- 서버동기화
- 맥 어드레스
- mosquitto.conf
- timepicker
- pm2 설치
- Replication
- allow_anonymouse
- datagridview 직접입력
- 공인IP
- mosquitto
- mySQL_Replication
- listener 1883
- DatePicker
- pm2
- map이 undefined가 뜰 때
- pm2 시작
- setInterval 중지
- invalid data
- DataGridView 직접 입력
- transfer
- setInterval 정지
- html #select #option #multiple
- 데이터테이블 데이터 넣기
- pm2 상태 확인
- setInterval clear
- setInterval 외부 정지
Archives
- Today
- Total
개발 노트
IN 과 EXIST 본문
기본 개념
IN / EXIST : 조건에 부합하는 결과 찾기
NOT IN / NOT EXIST : 조건에 부합하는 결과 제외시키기
동작 방식의 차이
IN
- 서브쿼리를 먼저 검색한 후, 결과목록을 만듭니다.
- 그 다음 메인쿼리에서 하나의 row를 가져옵니다.
- row의 값이 1에서 가져온 IN 의 조건에 맞는지 확인한 다음 서브쿼리의 요소들 중 하나라도 일치한다면 row를 출력합니다.
- 2~3과정을 반복합니다.
EXIST
- 메인쿼리를 먼저 실행하여 출력되는 상위 row를 가져옵니다.
- 해당 row에 대해 서브쿼리를 실행 한 뒤, 서브쿼리에 일치하는지 확인합니다. 일치한다면 True가 되며 1번에 해당하는 row값이 출력됩니다.
- 1~2 과정을 반복합니다.
row의 수가 적으면 적을수록 두 방식의 차이는 거의 나타나지 않지만 많아질수록 IN은 성능저하가 심합니다.
NOT IN 과 NOT EXIST
NOT IN
IN의 경우 서브쿼리의 값 중에 일치하는 값이 하나라도 있으면 되지만, NOT IN의경우에는 서브쿼리의 모든 요소와 일치하지 않는지를 체크합니다.
NOT EXIST
EXIST는 서브쿼리 내에 값이 존재(true)하면 메인쿼리의 결과를 출력하지만 NOT EXIST는 서브쿼리 내에 값이 존재하지 않아야(false) 메인쿼리의 결과를 출력합니다.
'데이타베이스 > MySQL' 카테고리의 다른 글
MySQL DB 공부 (0) | 2024.01.22 |
---|---|
트랜잭션(Transaction)의 개념과 사용법 (0) | 2024.01.09 |
서브쿼리(Subquery) (0) | 2023.12.26 |
조인(JOIN) (0) | 2023.12.26 |
특정 문자가 포함된 인스턴스 찾기 (0) | 2023.06.14 |