Data Analytics/Online Course

[메타코드 강의 후기] SQL 데이터 분석 (2/3)

Senni_S2 2024. 7. 14. 16:00

메타코드 M 서포터즈에 선정되었습니다. 

강의 보면서 공부도 하고 포스팅 하면서 기록도 남길 수 있는 정말 좋은 기회입니다. 

https://www.metacodes.co.kr/

 

메타코드M

AI 강의 & 커뮤니티 플랫폼ㅣ300만 조회수 기록한 IT 현직자들의 교육과 함께 하세요

www.metacodes.co.kr

Day 3

HAVING 

GROUP BY 와 함께 사용되며, 그룹화된 결과에 조건을 적용함

Where 절은 개별 테이블에 대한 조건을 적용하는 반면, Having 절은 그룹화된 결과의 집계 값에 대한 조건을 적용함.

 

SELECT productcode, SUM(quantityordered)
FROM orderdetails 
WHERE orderlinenumber = 1
GROUP BY productcode 
HAVING productcode LIKE "S10%"
;

 

 

IF/CASE

IF(condition, true, false)

IF 문은 SQL의 GROUP BY 절과 함께 사용되며 그룹화된 결과에 조건을 적용하는 데 사용

SELECT checkNumber, amount, if(amount > 50000, 'Large', 'Small') AS orderSize
FROM payments
;

 

CASE

CASE 문은 여러 조건을 테스트하고 여러 결과 중 하나를 반환

SELECT productName, buyPrice,
		case buyPrice
			when buyPrice < 20 then 'Cheap'
			when buyPrice BETWEEN 20 AND 50 then 'Moderate'
			ELSE 'Expensive'
		END AS priceCategory
FROM products
;


SELECT firstName,lastName, jobTitle,
		case jobTitle
			when 'Sales Rep' then 'Sales Team'
			when 'VP Sales' then 'Management'
			when 'VP Marketing' then 'Management'
			ELSE 'Other Positions'
		END AS PositionCategory

FROM employees
;

 

JOIN

JOIN 연산자는 두 테이블 간의 관계를 나타내기 위해 사용.

조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것

SELECT *
FROM A
JOIN B ON 조건
;

 

 

# innner join
SELECT *
FROM ex3
JOIN ex4 ON ex3.id = ex4.id
;

# left join
SELECT *
FROM ex3
left JOIN ex4 ON ex3.id = ex4.id;

# left join 
SELECT *
FROM ex3
left JOIN ex4 ON ex3.id = ex4.id
WHERE ex4.id IS null;

# right join
SELECT *
FROM ex3
RIGHT jOiN ex4 ON ex3.id = ex4.id
;

SELECT *
FROM ex3
RIGHT jOiN ex4 ON ex3.id = ex4.id
WHERE ex3.id IS NULL;

# full outer join
SELECT ex3.id, ex3.name, ex3.age, ex4.id, ex4.region
FROM ex3
left JOIN ex4 ON ex3.id = ex4.id
UNION
SELECT ex3.id, ex3.name, ex3.age, ex4.id, ex4.region
FROM ex3
RIGHT JOIN ex4 ON ex3.id = ex4.id
WHERE ex3.id IS NULL
;

 

UNION

두 테이블의 데이터를 세로로 쭉 나열함, 컬럼의 수가 같아야 하며 중복은 제거

 

SELECT id FROM ex3
UNION 
SELECT id FROM ex4
;

SELECT id FROM ex3
UNION ALL # 중복을 표시함
SELECT id FROM ex4

 

SQL 쿼리의 일반적인 구조

SELECT 컬럼1, 컬럼2, ...
FROM 테이블1
JOIN 테이블2 ON 테이블1.조건 = 테이블2.조건
WHERE 조건
GROUP BY 그룹화할_컬럼
HAVING 그룹화된_결과_조건
ORDER BY 정렬할_컬럼 ASC|DESC
LIMIT 제한할_레코드_수;

 

후기: SQL 을 처음 사용하는 입문자로써 명확한 핵심을 알려주며, 반복해 볼 수 있는 예제 강의가 많기 때문에 완전 강추입니다~


현재 가입시 추천인 코드를 입력하면 5,000 포인트를 주고 있습니다. 

추천인 코드 : KQMR-BMTS-GMQK