WHERE 구
- 테이블에 ‘검색하고 싶은’ 조건 적용하기 위한 방법
- 엑셀에서 필터의 역할이라고 할 수 있음. : ‘데이터를 걸러주는 역할’
- 조건에 맞게 테이블이 축소되고, 축소된 테이블에서 select 를 함.
- from 테이블명 다음에 where 구문 작성해야함.
- 검색하고 싶은 조건은 연산자 (비교/SQL/논리 연산자) 를 사용하여 조건을 적용할 수 있음.
WHERE 구 연산자를 위한 데이터 행 이해
- 데이터형에 따라서 연산자 작성방법이 다를 수 있음.
- 문자와 날짜에서도 대소 비교연산자 사용 가능.
문자 - VACHAR, CHAR, STRING (ex. ‘SQL’, ‘기획자’)
날짜 - DATE, DATETIME (ex. ‘2015-07-14’)
⇒ 문자 날짜는 싱글쿼테이션 (’ ‘)이 필요.
숫자(정수형) - INT (ex. 2123)
숫자(소수) DOUBLE, FLOAT (ex. 91.2)
WHERE구 비교연산자
문자와 날짜도 크고 작음을 판단할 수 있음.
*ㄱ~ㅎ 오름차순, 내림차순 개념으로 이해.
테이블 스키마
: 자동으로 스키마 저장될 수 있게 설정해두면,
각 데이터를 어떤 유형으로 저장되는지 설정됨.
-- '=' 같은 값을 찾는 비교 연산자
select *
from orders
where category = ‘hotel’
-- '!=', '<>' 다른 값을 찾는 비교 연산자
select *
from orders
where category <> 'hotel'
-- '>=' ~보다 크거나 같은 값을 찾는 비교연산자
select *
from orders
where price >= 50000
select *
from orders
where reg_date >= '2021-07-01'
'>=' 날짜에서 해당 일자 이후로 이해하면 됨.
WHERE구 논리연산자
- 2가지 조건을 조합하기 위한 연산자
- 합집합, 교집합 등 집합의 개념으로 적용
and : 교집합, 두가지의 조건 모두 충족하는 경우
or : 합집합, 두가지의 조건 중 한가지라도 충족하는 경우
not : not 뒤의 조건과 반대인 경우
--조건1 and 조건2, 앞뒤의 조건 모두 만족하는 경우
select *
from orders
where cateogry = 'hotel'
and region = 'seoul'
--조건1 or 조건2, 앞뒤의 조건 중 하나라도 만족하는 경우
select *
from orders
where cateogry = 'hotel'
or region = 'seoul'
--not 조건1, 조건이 아닌 경우
select *
from orders
where not category = 'hotel'
WHERE 구 SQL 연산자
- ‘컬럼명’ between (a) and (b) : a 이상 b 이하인 경우
- N ≤ 컬럼 and 컬럼 ≤ x 와 같이 비교 연산자 표현 가능.
- ‘컬럼명’ in (리스트)
- 컬럼에 a 또는 b가 있는 경우 ⇒ 컬럼 in (’a’, ‘b’)
- ‘컬럼명’ like ‘비교문자’
- 일치 여부를 확인할 수 없는 경우 사용
- ~같은, ~처럼 해석하여 조건 적용
- 기호 연산자 ‘%’, ‘_’ (wild card)와 함께 사용
% : 검색하고자 하는 문자수를 반영 X
- like ‘%치킨’ : ‘치킨’ 단어가 맨 마지막에 위치
- like ‘치킨%’ : ‘치킨’ 단어가 맨 앞에 위치
- like ‘%치킨%’ : 치킨 단어가 중간에 위치
_ : 검색하는 문자수를 표현할 수 있음.
- like ‘_ _ _ 치킨’ : ‘치킨’ 단어가 맨 마지막 위치, 치킨 앞에 3개의 문자만 있어야 함.
- ‘컬럼명’ is null
- 컬럼에 데이터가 없는 경우 (공백인 경우)
- 0 과 null은 다름. 0은 0이라는 데이터가 있는 것.
- null 연산자는 데이터가 없기 때문에 비교연산자 (=)로 비교가 불가능. ‘is’ be동사를 활용.
'Database' 카테고리의 다른 글
MySQL - UK Commerce 데이터를 이용한 리포트 작성 (0) | 2023.10.12 |
---|---|
MySQL - 식품 배송 데이터 분석 (1) | 2023.10.10 |
MySQL - 상품 리뷰 데이터를 이용한 리포트 작성 (1) | 2023.10.10 |
MySQL - 자동차 매출 데이터를 이용한 리포트 작성 (1) | 2023.10.05 |
MySQL 기본구문 - 데이터를 선택하기 위한 SELECT, FROM (0) | 2023.10.04 |