220511_SQL 기초_select, where

juyeon·2022년 5월 11일
0

끄적이기

목록 보기
1/13

왜 SQL을 배워야하는가?

엑셀의 한계점

  1. 대용량 데이터를 다룰 때 속도가 느려진다.
  2. 충돌이 생겼을 때, 어디서 에러가 발생했는지 알 수 없다.

SQL의 필요성

데이터 베이스(DB)란?

: 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통!

  • C(create): 데이터 생성 -> 개발자들이...
  • R(Read): 저장된 데이터를 읽어오기
  • U(Update): 저장된 데이터를 변경 -> 개발자들이...
  • D(Delete): 저장된 데이터를 삭제 -> 실무에서는 거의 사용하지 않는다.

SQL으로 R(Read) 할 것이다!
SQL(Structured Query Language), 즉 데이터베이스에 요청(Quere)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어

SQL 작성하기

DBeaver

테이블과 필드

  • 테이블: like 엑셀 시트
  • 필드: like 엑셀 열

show

#테이블 전체 보기
#ctrl+Enter: SQL문 실행
show tables

select

#orders 테이블의 데이터 전체 가져오기
select * from orders

#orders 테이블의 특정 필드만 가져오기
select created_at, payment_method from orders

where

#orders 테이블에서 결제수단이 카카오페이면서 앱개발 종합반인 데이터만 가져와줘
#' '는 문자열로 인식시키기. 이때 ' ' = " "
select * from orders
where payment_method = 'kakaopay' and course_title = '앱개발 종합반'

#성이 황씨인 유저만 뽑아줘
select * from users
where name = '황**'

'같지않음'

#'앱개발 종합반'을 빼고 주문건을 보여줘
select * from orders
where course_title != '앱개발 종합반'

'범위'

#7월 13~7월 14일 주문데이터 보여줘
#7월 13일 00시 00분~ 7월 15일 00시 00분 까지 설정해야 7월 13일~7월14일 데이터만 볼 수 있음
select * from orders
where created_at between '2020-07-13' and '2020-07-15'

'포함'

#1, 3주차 사람들의 '오늘의 다짐' 데이터만 보고싶어
select * from checkins
where week in (1, 3)

'패턴(문자열 규칙)'

#daum 이메일 사용 유저만 보고싶어
select * from users
where email like '%daum.net'

#%:뭐가 있든..

'일부'

#어떤 데이터가 들어있는지 확인할 때 유용
select * from orders
where payment_method = 'kakaopay'
limit 5

'중복 제외'

select distinct(payment_method) from orders

'몇 개인지 세어보기'

select count(*) from orders

#성씨가 몇개인지 궁금하다면? distinct와 count 동시에 사용하기
select count(distinct(name)) from users
profile
내 인생의 주연

0개의 댓글