SQL 강의 정리

SQL 세션 2회차

jaman 2024. 10. 14. 23:29

예제로 익히는 SQL - 2회차.pdf
2.40MB

 

SQL세션 2회차의 PDF 자료

 

1. SQL 기본구조 SELCECT and FROM

 

SELECT 문을 사용하여 테이블의 값(=열, 컬럼, 필드라고도 불려요!)를 선택할 수 있습니다.

* 사용하면 모든 컬럼값을 추출한다는 뜻

구문 마지막은 세미콜론( ; ) 으로 끝내야 합니다

 

중복 없이 조회하고 싶으면 Distinct 사용하기

식:

SELECT DISTINCT 컬럼이름 FROM 테이블이름 ;

 

2. SQL 조건문 WHERE 

 

https://drive.google.com/drive/folders/1po9AVTs0Np4V5BSYKvHdxVQFZhKhYcJ7?ths=true

 

[데이터 분석 4기][예제로 익히는 SQL][강의자료] - Google Drive

이 브라우저 버전은 더 이상 지원되지 않습니다. 지원되는 브라우저로 업그레이드하세요. 닫기

drive.google.com

⬆️사용한 자료

 

The Glory 자료에서 성별이 여자인 데이터만 가져오기

 

code:

SELECT *

from basic2.theglory t

where 성별 = 'f'

 

(basic2라는 데이터베이스 안에 theglory라는 테이블이 있음)

 

-where절만 이용하면 특정 조건 만족하는 데이터 가져오기 가능

 

 

3. SQL 조건문 Case When

 

Case when 구조:

SELECT CASE WHEN 조건식1 THEN 결과1

WHEN 조건식2 THEN 결과2

ELSE 결과3

END AS 새로운 컬럼이름

FROM 테이블명 ;

 

아무것도 아닌것에 ELSE

꼭 ELSE로 마무리

 

예시: 이름이 ‘문동은’ 이거나 ‘주여정’ 인 경우를 ‘선’ 으로, 이 외의 값들은 ‘악’으로 구분하여 ‘역할구분’ 이라는 새로운 컬럼을 생성

 

select * , case when 이름 in ('문동은', '주여정') then '선'

else '악' end as '역할구별'

from basic2.theglory t

;

 

 

여기에서는 '역할구별'이라는 새 컬럼을 만듬

 

-CASE WHEN 작동 순서

 

SELECT CASE WHEN 조건식1 THEN 결과1

WHEN 조건식2 THEN 결과2(위에 조건에 부합하는 애들 다 빼고 봄, 첫번째 줄에 조건 부합하는 애들은 그냥 다 빼고 봄)

ELSE 결과3

END AS 새로운 컬럼이름

FROM 테이블명 ;

 

 

 

 

4. 조건문을 지원하는 연산자 

 

-like

 

LIKE('%과자%')

맛있는 과자

과자는 살찐다

 

%과자%: 앞 뒤에 무슨 것이 있던 상관 없다, 그냥 과자가 있으면 다 가져옴

그럴 경우 앞 뒤에 %를 붙임

 

%과자: 앞에는 뭐가 있던 괜팒다, 그 대신 무조건 과자로 끝나야한다

 

 

- A or B: 둘 중 하나만 만족하면 되

 

-A and B: 둘다 만족해아 함

 

*A is NULL, A IS NOT NULL(많이 쓰임) 

 

예시:

  • 날짜 데이터가 비어있지 않고
  • 성별이 남자가 아니고
  • 직업이 아나운서 또는 승무원 또는 화가이고
  • 나이가 30세에서 40세 사이

code:

SELECT *

FROM basic2.theglory

WHERE 날짜 IS NOT NULL

AND (성별!='M')

AND 직업 IN('아나운서','승무원','화가')

AND (나이 BETWEEN 30 AND 40)

;

 

 

*조건 괄호하는것 중요

 

 

5. 결과값 정열: ORDER BY

 

맨 마지막에 ORDER BY를 쓴다

 

# 컬럼 번호를 통한 order by의 활용

# MYSQL 환경에서는 날짜가 1번, 이름이 2번, 성별이 3번, 나이가 4번 #, 직업을 5번으로 인식합니다

 

select 날짜, 이름, 성별, 나이, 직업

from basic2.theglory

order by 4 desc;

 

 

ORDER BY 4 desc = ORDER BY 나이

 

ORDER BY 바로 뒤에 나오는 구문이 정렬 우선순위라고 생각해주세요!
**(=ORDER BY 와 가까울 수록 그 우선순위가 높다!)**

 

ORDER BY 다중조건 # 날짜를 내림차순으로 우선 정렬하고, 날짜가 같다면! 나이를 기준으로 오름차순 정렬

 

select 날짜, 이름, 성별, 나이, 직업

from basic2.theglory

order by 1 desc, 4 ASC;

 

order by 1 desc가 우선순위

 

 

(+) NULL에 대한 도움 되는 정보

 

 

 

 

'SQL 강의 정리' 카테고리의 다른 글

SQL 세션 5회차  (1) 2024.10.17
SQL 4회자 세션 정리  (0) 2024.10.16
SQL 세션 3회차 정리  (0) 2024.10.15