'데이터분석가 입문 필수 SQL 부트캠프ㅣ억대 연봉 현직자' _ 이상훈 강사님
SQL은 데이터 분석에서 반드시 알아야 하는 언어 중 하나로 데이터를 능숙하게 추출하고 가공할 수 있으려면 SQL이 필수적입니다.
본 강의는 코딩 실습을 통해 실무 방식을 터득하고, 기초부터 심화 까지 배울 수 있는 강의입니다.
강의 순서는 다음과 같습니다.
Day1
Table
Create
Create Table 로 Table 을 생성합니다.
CREATE TABLE customers(
customer_number INT,
customer_name VARCHAR(50),
phone VARCHAR(50)
);
CREATE TABLE customers2(
customer_numbercustomers2test INT NOT NULL,
customer_name VARCHAR(50) NOT null,
phone VARCHAR(50) NOT null
);
Insert
생성한 Table 에 Insert 구문으로 데이터를 입력합니다.
INSERT INTO customers
(customer_number, customer_name, phone)
VALUES
(1, '이상훈', '010-1234-5678'),
(2, '김상훈', '010-1234-5679'),
(3, '박상훈', '010-1234-5679');
기타
Delete : 데이터 삭제
Truncarte : 데이터 초기화
Update : 테이블 내용 변경
Alter : 테이블 조건 변경
ALTER TABLE customers RENAME newcustomers;
ALTER TABLE newcustomers ADD 지역 VARCHAR(50);
ALTER TABLE newcustomers MODIFY 지역 INT;
ALTER TABLE newcustomers CHANGE 지역 REGION VARCHAR(10);
ALTER TABLE newcustomers DROP REGION;
SELECT * FROM newcustomers;
SELECT customer_name, phone FROM newcustomers;
# ALIAS(별칭)
SELECT 이름, 영어, 수학, 수학+영어 AS 영수
FROM exercise1;
# LIMIT / OFFSET : 결과 집합의 특정 부분을 제한하거나 건너뛸 때 사용함
# LIMIT 은 반환되는 레코드의 수를 제한하는데 사용. ex) LIMIT 5 : 처음 5개
# OFFSET 은 처음 몇 개의 레코드를 건너뛸 것인지 지정하는데 사용. ex) LIMIT 10 OFFSET 5 : 처음 5개 건너 뛰고 10개 선택
SELECT * FROM exercise1 LIMIT 5;
SELECT * FROM exercise1 LIMIT 3 OFFSET 5;
SELECT * FROM exercise1 LIMIT 5,3; # 5번째 행부터 3개의 행을 출력
#DISTINCT : 중복된 항 하나만 남기고 선택
SELECT DISTINCT 수학 FROM exercise1;
Day 2
Where
SELECT *
FROM 테이블
WHERE 조건
;
ex)
SELECT *
FROM orderdetails
WHERE orderLineNumber = 1
;
SELECT *
FROM orderdetails
WHERE productCode = 'S24_3969'
;
SELECT *
FROM orderdetails
WHERE quantityordered > 70
논리 연산자 (And, Or, Not)
And 와 Or 를 같이 사용하는 경우 AND 가 우선순위
SELECT *
FROM orderdetails
WHERE priceeach = 35.29
AND productcode = 's24_3969'
OR quantityordered = 46
;
LIKE
문자열에서 원하는 문자가 포함되어 있는지 검색
# LIKE '%CARS' : CARS로 끝나는 데이터
# LIKE 'CARS%' : CARS로 시작하는 데이터
# LIKE '%CARS%' : CARS를 포함하는 데이터
SELECT *
FROM products
WHERE productline = 'vintage cars' OR productline = 'Classic cars'
;
SELECT *
FROM products
WHERE productline LIKE '%Cars'
BETWEEN
A 이상 B 이하의 데이터를 출력
SELECT orderNumber
FROM orderdetails
WHERE quantityOrdered BETWEEN 10 AND 50 ;
Not between
A 이상 B 이하를 제외한 데이터
SELECT orderNumber
FROM orderdetails
WHERE quantityOrdered NOT BETWEEN 10 AND 50;
IN
특정 값을 조회하고 싶을 때 사용함.
SELECT customerName
FROM customers
WHERE country IN('USA', 'Canada', 'France')
;
NOT IN
특정 값을 포함하지 않은 데이터 조회
SELECT *
FROM
WHERE NOT IN(1,2,3);
SELECT*
FROM
WHERE <> 1 AND <> 2 AND <> 3;
IS NULL
NULL 인 데이터 조회
SELECT *
FROM orders
WHERE comments IS NULL;
IS NOT NULL
NULL 이 아닌 데이터 조회
SELECT *
FROM orders
WHERE comments IS not NULL;
Order By
특정 컬럼을 기준으로 정렬, asc(오름차순)이 default, desc(내림차순) 은 입력해야함
ORDER BY 는 WHERE 절 다음에 오며, WHERE절은 생략이 가능함.
SELECT *
FROM A
WHERE ~~
ORDER BY col1 DESC, col2 ASC, ...;
다중 정렬 가능함
Group By
GROUP BY 절은 한 개 이상의 컬럼을 기준으로 결과를 그룹화
주로 SUM(), AVG(), COUNT(), MAX(),MIN() 등의 집계 함수와 결합되어 사용
SELECT productline, COUNT(productline)
FROM products
GROUP BY productline;
SELECT productline, AVG(buyprice)
FROM products
GROUP BY productline;
SELECT productcode, SUM(quantityordered)
FROM orderdetails
WHERE orderlinenumber = 1
GROUP BY productcode;
SELECT productline, MAX(msrp)
FROM products
GROUP BY productline;
기타
년도는 YEAR()
후기 : 맥에는 SQL 설치가 힘듭니다~
SQL 입문자 입장에서 이 강의를 들으니, 개념뿐만 아니라 예제 문제가 많아 이해가 잘 됩니다.
'Data Analytics > Online Course' 카테고리의 다른 글
[강의 후기] SQL 데이터 분석 (3/3) (0) | 2024.07.21 |
---|---|
[메타코드 강의 후기] SQL 데이터 분석 (2/3) (0) | 2024.07.14 |
[메타코드 강의 후기] Python 데이터분석 | 공공 데이터 분석 및 시각화 (2) | 2024.07.04 |
[메타코드 강의 후기] Python 데이터분석 | 파이썬 기초 (0) | 2024.07.02 |
[강의 후기] 파이썬 데이터 분석 | 제품 포트폴리오 분석 (0) | 2024.06.30 |