[SQL] 1. SELECT, FROM, WHERE)

김죠·2023년 12월 20일
0
post-thumbnail

SELECT

  • 데이터의 컬럼을 가져오기 위한 기본 명령어
  • 데이터를 조회하는 모든 쿼리에서 사용됨
  • 모든 컬럼을 가져오고 싶을 땐 * 사용

FROM

  • 데이터를 가져올 테이블을 특정해주는 문법
  • 여러 행을 가지고 오고 싶을 땐 별명(alias) 지정 가능
# 별명(alias) 지정하는 법
- 방법1 : 컬럼1 as 별명1
- 방법2 : 컬럼2 별명2
  • 별명 지정 시 주의사항
구분영문, 언더바특수문자, 한글
방법별명만 적음큰따옴표 안에 별명 적음("별명")
예시word_no'ord no', '주문번호'

WHERE

  • 특정 조건을 필터링해주는 문법
  • 조건에 맞는 데이터만 필요할 때 사용

예제

  1. 음식 주문 테이블에서 order_id, price, quantity 가져오기.
    이때 order_id는 order_no, price는 가격, quantity는 수량으로 표시
SELECT order_id, ord_no, price '가격', quantity '수량'
from food_orders 

  1. 고객 데이터베이스에서 name, email 가져오기
    이때 name은 '이름', email은 'e-mail'로 표시
SELECT name '이름', email 'e-mail' 
FROM customers

필터링 시 유용한 연산

1. 비교연산

비교연산자의미예시
=같다age=21, gender=’female’
<>같지 않다 (다르다)age<>21, gender<>’female’
>크다age>21
>=크거나 같다age>=21
<작다age<21
<=작거나 같다age<=21
BETWEEMA 와 B 사이age between 21 and 25
IN‘포함’ 하는 조건 주기age in (21,23,24)
LIKE완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기name like "김%"

예제

  1. 21세 이상 고객들의 데이터만 추출하기
select * 
from customers
where age>=21

  1. 21세에서 23세 사이 고객들의 데이터만 추출하기
select *
from customers
where age between 21 and 23

  1. 나이가 21,25,27세인 고객들의 데이터만 추출하기
select *
from customers
where age in (21,25,27)

  1. 성이 김씨인 고객들의 데이터만 추출하기
select *
from customers c
where name like "김%"

2. 논리연산

논리연산자의미예시
AND그리고age>20 and gender=’female’→ 나이가 20세 이상이고, 여성
OR또는age>20 or gender=’female’→ 나이가 20세 이상이거나, 여성
NOT아닌not gender=’female’→ 여성이 아닌

예제

  1. 21세 이상 남성 고객의 데이터만 가져오기
select *
from customers
where age >=21 and gender = 'male'

  1. 카드로 지불했거나 vat가 0.2이상인 지불내역 가져오기
select *
from payments
where pay_type = 'card' or vat >=0.2

  1. 네이버 메일을 사용하는 사람을 제외한 고객 명단 가져오기
select *
from customers
where email not like "%naver.com"

업로드중..

profile
1=850

0개의 댓글