Database/SQL

[MySQL] [스파르타코딩클럽 SQL] Select, Where

Ella_K 2022. 7. 1. 16:40

프로그램

 

DBeaver Community | Free Universal Database Tool

DBeaver Universal Database Tool Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase,

dbeaver.io

 

Select 쿼리문

  • 쿼리문: 데이터 베이스에 명령을 내리는 것
  • select 쿼리문: 데이터 베이스에서 ‘데이터를 선택해서 가져오겠다’
  • 어떤 테이블에서 어떤 필드의 데이터를 가져올지

 

  • 테이블 보기
show table

 

  • ‘orders’ 테이블 데이터 가져오기 (’orders’ 테이블의 모든 필드 보기)
select * from orders;

 

Select, Where절

  • where 절: select 쿼리문으로 가져올 데이터에 조건을 걸어 주는 것
  • orders 테이블에서 pyment_method(필드)가 ‘kakaopay’인 것만 가져오기
select * from orders
where payment_method = "kakaopay";

 

  • 부등호 >, <, >=, <=
select * from point_users
where point > 20000;

 

  • 여러 조건 시 and 사용
select * from orders
where course_title = "앱개발 종합반" and payment_method = "kakaopay";

 

  • 같지 않음 !=
select * from orders
where course_title != "웹개발 종합반";

 

  • 포함 in
select * from checkins 
where week in (1, 3); -- week 필드 값이 1,3 인 데이터들만 가져옴

 

  • 범위 between
select * from orders
where created_at between "2020-07-13" and "2020-07-15"; 
-- 7월 13일, 7월 14일 주문데이터만 가져옴
select * from point_users
where point between 20000 and 30000
-- 2000 ~ 3000 (2000이상 3000미만) 포인트 보유하고 있는 유저만 추출

 

  • 패턴(문자열 규칙) like ‘%’ 이용
select * from users 
where email like '%gmail.com'; 
-- email 필드 값이 gmail.com으로 끝나는 모든 데이터
select * from users 
where email like '%co%'; 
-- email 필드 값에 co를 포함하는 모든 데이터

 

  • 일부 데이터만 가져오기 limit
select * from orders 
where payment_method = "kakaopay"
limit 5;
-- 조건을 만족하는 5개의 데이터만 보여줌
-- 테이블에 어떤 데이터가 들어있는 잠깐 확인하고 싶을 때 모든 데이터를 다 불러오면 로딩
-- 시간이 오래 걸린다. 따라서 이럴 때 실무에서 limit를 자주 사용한다.

 

  • 중복 데이터는 제외하고 가져오기 distinct
select distinct(payment_method) from orders;
-- 결제 수단 종류와 수를 알 수 있음

 

  • 몇개인지 숫자 세기 count
select count(*) from orders

 

  • distinct와 count 같이 쓰기 → 특정 필드의 데이터 종류의 수를 알 수 있음
select count(distinct(name)) from users; # 회원들의 성씨가 몇개인지 알 수 있음

 


Source

스파르타 코딩클럽 내일배움단 엑셀보단 쉬운 SQL 1주차

https://spartacodingclub.kr/nb