1 쿼리문
1.1 쿼리문이란?
- 데이터베이스에 명령(요청)을 내리는 문법
1.2 Select 쿼리문이란?
- 데이터베이스에서 데이터를 select(선택)하여 가져오는 것
- Select 쿼리문은 1) 무슨 테이블에서 2) 무슨 필드의 데이터를 불러올지 써야 함
1.2.1 테이블과 필드
- 테이블 : 엑셀 시트에 적힌 orders, orders_2와 같은 형태의 값을 데이터베이스에 담게 되면, orders, orders_2라는 이름의 테이블이 됨
- 필드 : order_no, name, menu, payment_method 각각이 필드가 됨
1.2.2 테이블 확인하기
show tables
(ctrl + enter로 명령 실행)
- 현재 열어 놓은 list라는 데이터베이스 내의 테이블들을 확인할 수 있음
2 Where절
2.1 Where절이란?
- Select 쿼리문으로 가져올 데이터에 '조건'을 걸어줌
2.2 예제 (Select문 + Where절)
select * from orders2
where payment_method = 'kakaopay'
(ctrl+enter로 명령 실행)
실행 결과 : 'orders2' 테이블에서 'payment_method'가 'kakaopay'인 정보만 가져옴
(큰) 따옴표(''/"")를 붙이는 이유는 테이블명이나 필드명이 아닌 문자열로 인식시키기 위함
2.3 예제 (Select문 + Where절 - 여러개의 조건)
select * from orders2
where payment_method = 'kakaopay'
and menu = 'apple pie'
실행 결과 : 'orders2' 테이블에서 'payment_method'가 'kakaopay'면서 'menu'가 'apple pie'인 정보만 가져옴
2.4 예제 (비교연산자의 사용)
1.2.2에 있는 테이블을 활용하여 비교연산자를 사용하는 예제를 만들어봄
불러와야 할 정보 : point가 1000점보다 많은 사람들의 목록
select * from point_users
where point > 1000
실행 결과 : point_users라는 테이블에서 point가 1000점보다 많은 사람들의 정보를 불러옴
3 쿼리문 작성 순서
1) show tables로 테이블의 목록 확인하기
2) 원하는 정보가 있을법한 테이블을 선택하여 select * from 테이블명
3) 쿼리문을 작성할 필드를 찾기 (입력한 테이블에 찾는 정보가 없으면 2번을 반복)
4) select * from 테이블명
where 조건
4 그 외에 함께 쓰이는 기본 문법
'kakaopay'로 결제한 주문건을 제외하고 데이터를 보고싶은 경우
!= 를 이용하여 쿼리문 작성
select * from orders2
where payment_method != 'kakaopay'
실행 결과 : payment_method 필드에서 kakaopay를 제외한 결과만 출력
특정 범위 내의 데이터만 필요한 경우
between을 사용
select * from orders2
where 주문 일자 between '2023-02-20' and '2023-02-21'
실행 결과 : 2023년 2월 20일과 2월 21일의 주문 데이터만 출력
2월과 4월의 데이터만 보고 싶은 경우
in으로 포함 조건을 걸 수 있음
select * from menu list
where month in (2,4)
실행 결과 : 2월과 4월에 판매했던 menu list만 불러옴
패턴(문자열 규칙) 조건 걸기
패턴 조건은 like
select * from point_users
where email like '%naver.com'
실행 결과 : point_users 테이블에서 이메일로 naver 도메인을 사용하는 유저의 목록만 불러옴
%의 위치에 따라 결과가 다르게 나타남
where email like 'h%' : email 필드값이 p로 시작하는 모든 데이터
where email like '%h' : email 필드값이 p로 끝나는 모든 데이터
where email like 'h%a' : email 필드값이 h로 시작하고 a로 끝나는 모든 데이터
where email like '%hi% : email 필드값에 hi를 포함한 모든 데이터
'Database > SQL' 카테고리의 다른 글
[DB] 데이터베이스의 분류 (0) | 2023.03.03 |
---|---|
[SQL] 서브쿼리(Subquery) (0) | 2023.02.24 |
[SQL] Join (0) | 2023.02.23 |
[SQL] Database / SQL 기본 개념 (0) | 2023.02.20 |