먼저 데이터베이스란?
=> 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통이라 생각하자!!
<모든 데이터베이스는 CRUD 해당하는 기능 지원>
C(Create) : 데이터의 생성을 의미
R(Read) : 저장된 데이터를 읽어오는 것 의미
U(Update) : 저장된 데이터를 변경
D(Delete) : 저장된 데이터를 삭제
SQL
은 데이터베이스에 요청(Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어
SELECT 쿼리문이란?
먼저 쿼리문이란 쿼리는 질의라는 의미를 가지고 있다.
데이터베이스에 명령을 내리는 것을 의미
💡 SELECT 쿼리문은 데이터베이스에서 '데이터를 선택해서 가져오겠다!' 의미
데이터베이스 테이블 보기
SHOW tables;
orders 테이블의 데이터 가져오기
SELECT * FROM orders;
orders 테이블의 특정 필드만 가져오기
SELECT create_at, course_title, payment_method, email FROM orders;
SELECT 문에서 WHERE 절을 쉽게 볼 수 있다.
WHERE 절이란?
: SELECT 쿼리문으로 가져올 데이터에 조건을 걸어 주는 의미를 가지고 있다.
예로들자면~
orders 테이블에서 결제수단이 카카오페이인 데이터 가져와요~
라고 했다. 그렇다면 쿼리를어떻게 짜야할까?
SELECT * FROM orders
WHERE payment_method = "kakaopay";
위의 쿼리로 작성하면 된다
여기서 주의 할 것은 "kakaopay" 컬럼 자리에 kakaopay라고 적으면
[Unknown column 'kakaopay' in 'where clause'] 에러문구를 볼 수 있을 것이다.
해석하면 = where 절에 있는 kakaopay라는 컬럼은 없다! 라는 의미이다.
kakaopay 라는 글자를 컬럼(필드명)으로 인식한것이다.
+++또+++
where에 여러 조건을 걸려면 어떻게 하느냐~
SELECT * FROM orders
WHERE course_title = "웹개발 종합반" and payment_method = "kakaopay";
위의 쿼리를 확인하면
and 접속사를 볼 수 있다. and로 여러 조건을 이어서 추가할 수 있다.
Q : 포인트가 20000점 보다 많은 유저만 뽑아보기!
A :
SELECT * FROM point_users
WHERE point > 20000;
Q : 성이 황씨인 유저만 뽑아보기
A :
SELECT * FROM users
WHERE name = '황**';
Q : 웹개발종합반이면서 결제수단이 CARD 인 주문건만 뽑아보기!
A :
SELECT * FROM orders
WHERE payment_method = 'CARD' and course_title = '웹개발 종합반';
SELECT문에서 '범위' 조건으로 데이터 뽑아보기
SELECT * FROM orders
WHERE created_at BETWEEN "2020-07-13" AND "2020-07-15";
BETWEEN ~ AND 으로 원하는 범위를 잡아서 뽑을 수 있다.
SELECT문에서 '포함' 조건으로 데이터 뽑아보기
SELECT * FROM checkins
WHERE week in (1,3);
week 컬럼에 in 조건으로 데이터를 가져올 수 있다.
'SQL' 카테고리의 다른 글
SQL 공부 💡 4주차 SUBQUERY 서브쿼리 with절 case문 (0) | 2023.06.03 |
---|---|
SQL 공부 시작 3주차💡 MYSQL JOIN문 INNER JOIN LEFT JOIN ISNULL (0) | 2023.06.03 |
SQL 공부 시작 2주차💡 GROUP BY ORDER BY ALIAS (0) | 2023.06.02 |