본문 바로가기

학습 내용 정리/sql

SQL 쿼리문 기초 : 스파르타 코딩클럽 엑셀보다 쉬운 SQL 1주차

728x90

오늘은 드디어 SQL을 배운다. 기대되는 수업이다. 

0. 기초 개념

표 = 테이블

필드 = 그룹 

 

* 상단 바에서 양피지 모양 클릭 하면 작성 화면 나옴

1. show tables : table 보기

2. *  : 모든 필드

 

3. 쿼리 실행 단축키

 Mac :  Command   Enter 

(설정이 다르게 되어 있을 경우에는 상단바의 DBeaver > Settings 에서 키에 들어가 바인딩을 바꿔 주면 사용 가능.)

⊞ Windows :  Ctrl   Enter 

 

4. select

데이터를 선택해서 가져오겠다.

courses 에서 title을 선택해서 가져오겠다

 

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창을 닫을 수 있었다. 이 강의도 마지막 주차까지 할 수 있을 것 같은 자신감이 생겼다.