어제 문제 풀고 이해하고 정리하는데 아무리 2주라는 시간이 있어도 그렇지 기한안에 이게 가능한가 싶었지만 오늘 정신차리고 다시 정리해보니 괜찮은거같다가도 미래는 아직 아무도 모른다!
SQL 문장 표현
SEARCHED_CASE_EXPRESSION
ㄴCASE WHEN LOC = 'NEW YORK' THEN 'EAST'
when 이 앞에오고 ' = '가 있음
SIMPLE_CASE_EXPRESSION
ㄴCASE LOC WHEN 'NEW YORK' THEN 'EAST'
when이 뒤에오고 ' = '가 없음
이해하는데 살짝 애를 먹었던 222
COALESCE 함수의 핵심이니 잘 기억해두도록 하자
이제까지 했던것처럼 그냥 글로 설명해보려고 했으나 설명이 너무 복잡해져서 교재 첨부
SELECT COUNT(컬럼) => NULL은 제외
SELECT COUNT(*) => NULL 포함
*NULL을 포함하여 검색하고 싶을 땐 ('컬럼 1' , '컬럼 2' , 'NULL')이 아니라 IS NULL로 검색해야 한다.
GROUP BY 와 HAVING
GROUP BY 절에 의한 소그룹별로 만들어진 집계 데이터 중, HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력한다.
*SELECT name 은 반드시 GROUP BY name 이렇게 나타나야 한다
- AVG(COUNT(*))와 같은 그룹 함수 안에 그룹함수가 사용된 중첩된 그룹함수를 사용하게 되면 GROUP BY와 관련해 에러발생
IN라인 뷰
인라인뷰를 구성하게 될 쿼리에서 인라인 뷰 바깥에 있는 테이블과 조인을 맺고 있지만 인라인뷰에서 뷰 바깥의 테이블과 JOIN을 할 수 없음
JOIN 예시) D.광고매체, C.광고매체, C.광고시작일자 등등
ORDER BY 칼럼이나 표현식 [ASC/DESC] -기본적인 정렬 순서는 오름차순이다.
ASC(Ascending) - 오름차순
100 |
200 |
300 |
DESC(Descending) - 내림차순
600 |
500 |
300 |
사실 왜 이런지 이해가 잘 되지 않는다
SELECT 문장의 실행 순서
FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
테이블에서 데이터추출을 할 때
SELECT TOP(3) WHIT TIES 팀명, 승리건수
이렇게 검색을 하게 되면 탑 3를 도출해내지만 승리건수가 같은 팀이 있을때 그팀을 모두 포함시켜 찾게한다
여러개의 테이블로부터 필요한 칼럼을 조회하려고 할 때 필요한 JION의 개수
마지막
WHERE A.ENAME LIKE B.RULE을 펼쳐서 설명하면 이렇게 도출해낼 수 있다.
다른 2과목 제 1장 SQL 기본 들과 마찬가지로 여기서 나오는 대부분의 이미지들은 대부분 진광철님 유튜브 에서 가져왔다.
2과목 끝!!!
'프로그래밍 > SQLD' 카테고리의 다른 글
7. 2과목 제 2장 SQL 활용 (2) - 계층형 데이터 (0) | 2022.08.27 |
---|---|
6. 2과목 제 2장 SQL 활용 (1) - alias (1) | 2022.08.27 |
4. 2과목 제 1장 SQL 기본 (2) 20~42 (0) | 2022.08.23 |
3. 2과목 제 1장 SQL 기본 (1), 알아야 할게 너무 많다ㅠ (1) | 2022.08.22 |
2. 1 과목 제 2장 데이터 모델과 성능 (0) | 2022.08.20 |