[MySQL] SELECT 쿼리문

thingzoo·2023년 6월 24일
0

MySQL

목록 보기
11/17
post-thumbnail

SELECT 쿼리문

table과 field

  • table: 표 -> orders
  • field: 항목 -> order_no, created_at, ...

예제

show tables;			-- 해당 DB의 모든테이블 보기
select * from orders;	-- orders테이블의 모든필드 가져오기
select course_title, payment_method from orders; -- 특정필드만 가져오기

WHERE절

Select 쿼리문으로 가져올 데이터에 조건을 걸어서 특정데이터만 가져올때 사용

예제

-- 1) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져오기
select * from orders
where payment_method = "kakaopay";

-- 2) point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져오기
select * from point_users
where point >= 5000;

-- 3) orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터만 가져오기
select * from orders
where course_title = "앱개발 종합반" and payment_method = "kakaopay";

Where절과 자주 같이 쓰는 문법

같지 않음(!=)

select * from orders
where course_title != "웹개발 종합반";

범위(between A and B)

(20.8)

// 7/13, 7/14 출력
select * from orders
where created_at between "2020-07-13" and "2020-07-15";

포함(in)

select * from checkins 
where week in (1, 3);

패턴(like)

패턴에는 %_가 사용되는데
%은 모든 문자, _은 한글자라는 뜻

select * from users 
where email like '%daum.net';

[꿀팁🍯] 패턴 예시

  • 'a%' : 필드값이 a로 시작하는 모든 데이터
  • '%a' : 필드값이 a로 끝나는 모든 데이터
  • '%co%': 필드값에 co를 포함하는 모든 데이터
  • 'a%o' : 필드값이 a로 시작하고 o로 끝나는 모든 데이터

이외 유용한 문법들

limit

대규모 테이블을 조회할때 로딩시간 줄일수있음

select * from orders 
where payment_method = "kakaopay"
limit 5;

distinct⭐️

(20.6,8)
중복 제거

select distinct(payment_method) from orders;

count

개수 세기

select count(*) from orders

쿼리 작성 과정

  1. show tables로 어떤 테이블이 있는지 살펴보기
  2. 제일 원하는 정보가 있을 것 같은 테이블에
    select * from 테이블명 limit 10 쿼리 날려보기
  3. 원하는 정보가 없으면 다른 테이블에도 2를 해보기
  4. 테이블을 찾았다! 범주를 나눠서 보고싶은 필드를 찾기
  5. 범주별로 통계를 보고싶은 필드를 찾기
  6. SQL 쿼리 작성하기!
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글