728x90
오늘은 드디어 SQL을 배운다. 기대되는 수업이다.
0. 기초 개념
표 = 테이블
필드 = 그룹
* 상단 바에서 양피지 모양 클릭 하면 작성 화면 나옴
1. show tables : table 보기
2. * : 모든 필드
3. 쿼리 실행 단축키
Mac : Command + Enter
(설정이 다르게 되어 있을 경우에는 상단바의 DBeaver > Settings 에서 키에 들어가 바인딩을 바꿔 주면 사용 가능.)
⊞ Windows : Ctrl + Enter
4. select
데이터를 선택해서 가져오겠다.
5. Where
조건 걸기
ex) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와 줘!
SELECT * from orders
WHERE payment_method = 'kakaopay'
ex) 포인트 5000점 이상인 사람
select * from point_users
where point >= 5000
6. ' '
문자열
7. and
그리고
select * from orders
WHERE course_title = '앱개발 종합반' AND payment_method = 'CARD'
8. or
또는
9. Where 절과 같이 쓰이는 문법
!= : 같지 않다
between A and B A에서 B까지 범위
숫자인지 문자인지 구별하려면 이름 앞에 붙은 아이콘을 본다.
ex) ABC , 123
where c in (a,b) 포함
like % 패턴(문자열 규칙)
a%t : a부터 t까지
앞이 뭐든 daum.net으로 끝나는 email
# 주석
Error 주의 !
# SELECT * FROM point_users
# where 20000<point<30000
# Error 발생
SELECT * FROM point_users
where 20000<point and point<30000
# 정상 작동
# SELECT * FROM users
# where email like 's%com'and where name = '이**'
# Error 발생!!
SELECT * FROM users
where email like 's%com'and name = '이**'
# 정상 작동
10. 유용한 문법
Limit 일부 데이터만 가져오기
테이블 생김새를 알기 위해 조회할 때 유용 (시간 단축)
Distinct 중복 데이터는 제외하고 가져오기
Count 몇 개인지 세어 보기
응용 )
SELECT count(DISTINCT(name)) FROM users
11. 퀴즈
Gmail 을 이용하는 2020/07/12~13에 가입한 유저의 수를 세기
SELECT count(*) from users
WHERE email like '%gmail.com'
and created_at BETWEEN '2020-07-13' and '2020-07-14'
12. 숙제
naver 이메일을 사용하면서 웹개발 종합반을 신청했고, 결제는 kakaopay로 이뤄진 주문데이터 추출하기
SELECT * from orders
WHERE course_title = '웹개발 종합반' and email like '%@naver.com' and payment_method = 'kakaopay'
13. 소감
강의에서 사용하는 쿼리만 타이핑하는 기계적인 동작이 아닌 많은 예제 연습을 통해 혼자 생각해 보며 SQL에 대해 이해할 수 있게 되었다. SQL이 즐거운 적은 없었는데 처음으로 긍정적인 기분으로 SQL창을 닫을 수 있었다. 이 강의도 마지막 주차까지 할 수 있을 것 같은 자신감이 생겼다.
'학습 내용 정리 > sql' 카테고리의 다른 글
엑셀보다 쉬운 SQL 완주 (1) | 2023.05.04 |
---|---|
유용한 SQL 문법 : 스파르타 코딩클럽 엑셀보다 쉬운 SQL 4주차 (1) | 2023.05.02 |
SQL Subquery With : 스파르타 코딩클럽 엑셀보다 쉬운 SQL 4주차 (3) | 2023.05.02 |
SQL Join Union : 스파르타 코딩클럽 엑셀보다 쉬운 SQL 3주차 (1) | 2023.05.01 |
SQL Groupby Orderby : 스파르타 코딩클럽 엑셀보다 쉬운 SQL 2주차 (1) | 2023.05.01 |