스파르타_SQL_개발일지
SQL 명령어 - 조건절(between/in (0,0)/like), 개수(count), 중복제거(distinct), 제한(limit)
천재메기
2023. 2. 8. 13:26
# 조건절 기본구조 : where절
예제 : 주문 내역에서 코스 이름이 웹개발 종합반인 것만 찾아라!
select * from orders
where course_title != "웹개발 종합반";
# 범위 조건 걸어보기 : where 열이름(헤더) between '값(날짜, 숫자)' and '값(날짜, 숫자)'
예제 : 주문내역에서 주문 생성일이 2020년 7월 13일에서 15일 사이에 있는 것을 찾아내라!
select * from orders
where created_at between "2020-07-13" and "2020-07-15";
# 포함 조건 걸어보기 : where 열이름(헤더) in (숫자,숫자,숫자...)
예제 : 체크인했던 주차가 1주차 3주차인 것만 찾아보자!
select * from checkins where week in (1,3)
# 패턴 조건 걸어보기 : where 열이름 like '%~~'
예제 : 유저 중에서 다음 이메일을 가진 유저들만 찾아봐라!
select * from users where email like '%daum.net';
- 'A%' : A로 시작하는 문자열이 담긴 데이터를 찾을 때 사용한다.
- '%B' : 뒷부분이 B로 끝나는 문자열이 담긴 데이터를 찾을 때 사용한다.
- 'A%B' : A로 시작하여 B로 끝나는 문자열이 담긴 데이터를 찾을 때 쓴다.
예) 'a%t' -> apple@daum.net , a123@daum.net 이렇게 중간이 뭐가 됐든 a로 시작하여 t로 끝나는 것만 찾아준다.
퀴즈 !!
//1번
SELECT * FROM orders WHERE payment_method != 'card';
//2번
SELECT * FROM point_users WHERE `point` BETWEEN 20000 and 30000;
//3번
SELECT * FROM users WHERE email LIKE 's%com';
//4번
SELECT * FROM users WHERE email like 's%com' and name LIKE '이%';
# 개수 제한 : limit 숫자
예 : 주문내역에서 결제수단이 카카오페이인것 5개만 보여줘!
SELECT * FROM orders
where payment_method = 'kakaopay'
LIMIT 5;
- 다 불러오면 속도가 너무 느려지니까 개수 제한해서 확인할 때 많이 쓴다.
# 중복 제거하고 보기 : distinct(열이름)
예: 주문내역에서 결제수단 뭐있나 중복제거하고 보여줘!
SELECT DISTINCT (payment_method) from orders;
# 몇 개인지 개수 세기 : Count(*)
예 : (1) 전체가 몇개일까? (2) 결제수단이 kakaopay인 건 몇개일까?
select count(*) from orders;
select count(*) from orders
where payment_method = 'kakaopay';
# 중복제거한 후 개수세기
SELECT count(DISTINCT(name)) FROM users;