select 쿼리문
어떤 테이블 에서 어떤 필드의 데이터를 가져오는가.
- 테이블 ___ orders
- 필드 ___ order_no, created_at, course_title, user_id, payment_method, email 각각이 필드
show tables
show Tables라는 폴더 안에 들어있는 테이블들을 다 보여준다.
실행하기 control(^) + Enter
데이터 베이스에서 특정 테이블 가져오기
select * from orders
orders 테이블 전부(*) 가져와줘.
select payment_method from orders
orders 테이블 에서 payment_method 라는 필드만 가져와줘
select order_no, created_at, user_id, email from orders
orders 테이블에서 여러개의 필드 지정해서 가져올 수 있다. (order_no, created_at, user_id, email )
where __ 조건걸기
select * from orders
where payment_method = 'kakaopay'
👉 orders 라는 테이블 전부 가져와줘. 단 payment_method 필드의 값이 'kakaopay' 인 애들만.
이런식으로도 사용 가능하다.
select * from point_users
where point >= 5000
조건이 2개 혹은 그 이상일 경우 ___ and
select * from orders
where course_title = '앱개발 종합반'
and payment_method = 'CARD'
이것에 해당하는 데이터 제외하고 보여줘 !=
select * from orders
where course_title != '웹개발 종합반'
between ' 여기서부터 ' and ' 이거 전까지 '
👶 7월 13일, 7월 14일의 주문데이터만 보고 싶어
select * from orders
where created_at between '2020-07-13' and '2020-07-15'
👶 point_users 라는 테이블에서 point가 20000에서 30000 사이인 데이터만 보고싶어.
select * from point_users
where point between '20000' and '30001'
여기서 작은따옴표 해도 작동은 하지만, 숫자 데이터의 경우 작은따옴표 하지 않아도 작동함.
in ( )
하나의 필드에서 여러 조건에 해당하는 데이터 가져오기
where 가져오고 싶은 필드 이름 in ( 그 필드에서 가져오고 싶은 데이터)
예시) users 테이블에서 이름이 이씨와 강씨인 데이터만 가져오기.
select * from users
where name in('이**','강**')
like ' % '
where 가져오고 싶은 필드이름 like ' % 찾고싶은거'
🧐 % _____ 뭐가 있던 상관 없다는 뜻.
예시) users 테이블에서 email이 daum.net 으로 끝나는 데이터만 가져와줘.
select * from users
where email like '%@daum.net'
예시) users 테이블에서 email이 a로 시작, t로 끝나는 데이터 들만 찾아줘
select * from users
where email like 'a%t'
여기서 특이한거,
1. 나는 자바스크립트를 배우고 시작했기 때문에,
이 course_tilte의 항목에 '앱개발 종합반' 이 있는걸 가져오려면
=== 이 기호를 이용해야 하는줄 알았는데
SQL 에서는 = 이거 하나면 된다는 점!!
2. 그리고 라는 표현을 js 에서는 && 로 사용했는데,
여기서는 and 정말 날것 그대로 사용한다는 점👀👍
or 역시 || 가 아니라 진짜로 or이라고 쓰면 된다는 점 🤩
혹시나 해서 &&로 써봣더니 되긴 되는데, 이거 없어질 예정이니까 and 써 ~~ 라고 권고했음.ㅋㅋㅋ
정리
- select * from 테이블 이름 👈 해당 테이블에 데이터 전부 가져와줘
- where name = '황**' 👈 name 필드의 값이 '황**'인 데이터만 가져와줘
- where point between 20000 and 30000 👈 between 여기부터 and 이거 전까지 해당하는 데이터 가져와줘
- where name in('황**', '김**') 👈 name 필드의 값이 '황**', '김**' 에 해당하는 데이터만 가져와줘(포함조건)
- where name != '황**' 👈 이름이 '황**'이 아닌 데이터만 가져와줘.
- where email like 'happy%naver.com'. 👈 이메일이 happy로 시작해서 naver.com 으로 끝나는 데이터만 가져와줘
- where email like '%py%'. 👈 이메일이 py를 포함하는 데이터만 가져와줘
'SQL' 카테고리의 다른 글
SQL Subquery / with table1 as / distinct (0) | 2023.09.24 |
---|---|
SQL 테이블 붙이기 inner join / left join / NULL (0) | 2023.09.23 |
sql 기초 + group by / order by / where 중복 (0) | 2023.09.23 |
SQL limit / distinct / count (0) | 2023.09.20 |
SQL 프로그래머스 (0) | 2023.06.04 |