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 |
Tags
- 1883
- mosquitto.conf
- mosquitto
- setInterval clear
- mySQL_Replication
- timepicker
- 데이터테이블 데이터 넣기
- setInterval 외부 정지
- pm2
- Replication
- pm2 시작
- setInterval 정지
- transfer
- AntDesign
- html #select #option #multiple
- setInterval 중지
- allow_anonymouse
- pm2 상태 확인
- datagridview 직접입력
- c# datagridview 데이터 넣기
- DataGridView 직접 입력
- listener 1883
- invalid data
- DatePicker
- 맥 어드레스
- pm2 확인
- pm2 설치
- 서버동기화
- 공인IP
- map이 undefined가 뜰 때
Archives
- Today
- Total
개발 노트
서브쿼리(Subquery) 본문
서브쿼리(Subquery)
서브쿼리란 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말합니다.
서브쿼리는 보통 괄호로 감싸져서 표현됩니다.
실행 순서는 서브쿼리 실행 후 메인쿼리가 실행되며, 서브쿼리는 메인쿼리에 포함되는 종속적인 관계입니다.
서브쿼리는 메인쿼리의 컬럼을 사용가능하고 메인쿼리는 서브쿼리의 컬럼을 사용할 수 없습니다.
서브쿼리의 장점
- 서브쿼리는 쿼리를 구조화 시키므로, 쿼리의 각 부분을 명확하게 구분할 수 있게 해줍니다.
- 서브쿼리는 복잡한 join이나 union과 같은 동작을 수행할 수 있는 또 다른 방법을 제공해줍니다.
- 서브쿼리는 join이나 union에 비해 가독성이 좋습니다.
서브쿼리를 사용할 때 주의할 점
- 서브쿼리는 SELECT문으로만 작성이 가능합니다.
- 서브쿼리를 괄호로 감싸서 사용합니다.
- 서브쿼리는 단일 행 또는 복수 행 비교연산자와 함께 사용가능합니다.
- 서브쿼리에서는 ORDER BY를 사용하지 못합니다.
- 괄호가 끝난뒤 끝에 세미콜론(;)을 사용하지 않습니다.
서브쿼리가 사용이 가능한 곳
- SELECT
- FROM
- WHERE
- ORDER BY
- HAVING
- INSERT 문의 VALUE
- UPDATE 문의 SET
서브쿼리의 종류
- 스칼라 서브쿼리 : 하나의 컬럼처럼 사용
- SELECT문에서 사용하는 서브쿼리입니다.
- 다른 테이블에서 어떠한 값을 가져올 때 사용합니다.
- 하나의 값만 리턴이 가능하며, 두 개이상일경우 리턴할 수 없습니다.
- 일치하는 데이터가 없더라도 NULL값을 리턴할 수 있습니다.
- 인라인 뷰: 하나의 테이블 처럼 사용
- 일반 서브쿼리: 하나의 변수(상수)처럼 사용
SELECT col1, (SELECT ...) -- 스칼라 서브쿼리
FROM (SELECT ...) -- 인라인 뷰
WHERE col = (SELECT ...) -- 일반 서브쿼리
'데이타베이스 > MySQL' 카테고리의 다른 글
트랜잭션(Transaction)의 개념과 사용법 (0) | 2024.01.09 |
---|---|
IN 과 EXIST (0) | 2023.12.26 |
조인(JOIN) (0) | 2023.12.26 |
특정 문자가 포함된 인스턴스 찾기 (0) | 2023.06.14 |
패스워드 정책 확인 및 변경 (0) | 2023.06.02 |