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 |