SQL 기본
GROUP BY, HAVING 절
GROUP BY
데이터를 그룹별로 묶을 수 있도록 해주는 절
그룹핑의 기준이 되는 컬럼(들)과 함께 사용
집계 함수
COUNT(*): 전체 Row를 Count하여 반환
COUNT(컬럼): 컬럼값이 NULL인 Row를 제외하고 Count하여 반환
COUNT(DISTINCT 컬럼): 컬럼값이 NULL이 아닌 Row에서 중복을 제거한 Count를 반환
SUM(컬럼), AVG(컬럼), MIN(컬럼), MAX(컬럼)
HAVING
데이터를 그룹핑한 후 특정 그룹을 골라낼 때 사용
- SELECT문의 논리적 순서: FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
ORDER BY 절
ORDER BY
SELECT한 데이터를 정렬
ASC: 오름차순(기본값), DESC: 내림차순
SELECT NAME, MEMBER_NO FROM MEMBERINFO ORDER BY NAME DESC;
JOIN
JOIN
각기 다른 테이블을 한 번에 보여줄 때 쓰는 쿼리
EQUI JOIN
같은 조건으로 JOIN하는 것, 가장 흔한 방식
SELECT ~ FROM ~ WHERE A.PRODUCT_CODE = B.PRODUCT_CODE;
Non EQUI JOIN
같은 조건이 아닌 조건(BETWEEN, <, >)으로 JOIN 하는 방식
SELECT ~ FROM ~ WHERE B.REG_DATE BETWEEN A.START_DATE AND A.END_DATE
3개 이상 TABLE JOIN
WHERE A.PRODUCT_CODE = B.PRODUCT_CODE
AND B.REG_DATE BETWEEN A.START_DATE AND A.END_DATE
OUTER JOIN
JOIN 조건에 만족하지 않는 행들도 출력되는 형태
SELECT ~ FROM ~ WHERE A.PRODUCT_CODE = B.PRODUCT_CODE(+)
STANDARD JOIN
여러 벤더에서 호환되도록 표준이 되도록 지정된 ANSI SQL(표준 조인)
INNER JOIN
JOIN 조건에 충족하는 데이터만 출력
SELECT ~ FROM PRODUCT A INNER JOIN PRODUCT_REVIEW B
ON A.PRODUCT CODE = B.PRODUCT_CODE;
OUTER JOIN
JOIN 조건에 충족하는 데이터가 아니어도 출력
- LEFT OUTER JOIN, RIGHT OUTER JOIN
왼쪽에 표기된 테이블의 데이터는 무조건 출력, 오른쪽 테이블에 JOIN되는 데이터가 없을 경우 오른쪽 테이블 컬럼 값이 NULL로 출력
SELECT ~ FROM PRODUCT A LEFT OUTER JOIN PRODUCT_REVIEW B
ON A.PRODUCT_CODE = B.PRODUCT_CODE;
- FULL OUTER JOIN
왼쪽, 오른쪽 테이블 데이터가 모두 출력
SELECT ~ FROM RUNNING_MAN A FULL OUTER JOIN INFINITE_CHALLENGE B
ON A.CAST = B.CAST;
NATURAL JOIN
두 테이블에서 같은 이름을 가진 컬럼들이 모두 동일한 데이터를 가지고 있을 경우 JOIN이 되는 방식
SELECT * FROM RUNNING_MAN A NATURAL JOIN INFINITE_CHALLENGE B;
USING 조건절을 이용해 원하는 컬럼만 JOIN에 서ㅏ용 가능
SELECT CAST,
A.JOB AS R_JOB
B.JOB AS I_JOB
FROM IZONE A JOIN LESSERAFIM B
USING (POSITION, GENDER);
CROSS JOIN
A와 B 테이블 사이에 JOIN 조건이 없는 경우 조합할 수 있는 모든 경우를 출력(Cartesian Product)
SELECT A.NAME,
A.JOB,
B.DRINK_CODE,
B.DRINK_NAME
FROM ENTERTAINER A CROSS JOIN DRINK B;
참고자료: 2022 유선배 SQL개발자(SQLD) 과외노트
http://www.yes24.com/Product/Goods/115027455
2023 유선배 SQL개발자(SQLD) 과외노트 - YES24
SQL Server 분야 베스트 1위!핵심만 쏙쏙 담은 알찬 수험서! SD에듀가 가장 효율적·효과적인 합격의 길을 제안합니다.유튜브 선생님에게 배우는 유·선·배, 『유선배 SQL개발자 과외노트』와 함께 20
www.yes24.com
'데이터 > SQL' 카테고리의 다른 글
[SQLD]230308-09 SQLD (0) | 2023.03.10 |
---|---|
[SQLD]230305 sqld (0) | 2023.03.06 |
[SQLD]230301 sqld (0) | 2023.03.01 |
댓글