일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 태블로
- SQLD
- r
- 데이터분석준전문가
- 데이터 전처리
- 머신러닝
- pandas
- 회귀분석
- IRIS
- 시각화
- Python
- 통계
- 데이터분석
- 자격증
- Google ML Bootcamp
- Deep Learning Specialization
- matplotlib
- 파이썬
- 딥러닝
- SQL
- 이것이 코딩테스트다
- tableau
- 코딩테스트
- scikit learn
- sklearn
- 데이터 분석
- pytorch
- ML
- ADsP
- 이코테
- Today
- Total
함께하는 데이터 분석
[SQL] 비교 연산자, 논리 연산자 본문
오늘은 SQL을 통해
비교 연산자와 논리 연산자를 알아보겠습니다.
우선 연산자에 대해 표로 설명드리겠습니다.
구분 | 연산자 | 설명 |
비교 연산자 | = | ~와 같다 |
<> | ~와 같지 않다 | |
>= | ~보다 크거나 같다 | |
<= | ~보다 작거나 같다 | |
> | ~보다 크다 | |
< | ~보다 작다 | |
논리 연산자 | and | 앞 뒤 조건 모두 만족 |
or | 앞 뒤 조건 중 하나라도 만족 | |
not | 뒤에 오는 조건과 반대 |
SQL에서는 위와 같은 연산자를 사용합니다.
Python이나 R에서와 상당히 유사한데요.
같다가 =, 같지 않다가 <>인 것을 제외하면 거의 비슷합니다.
이제 workbench에서 살펴보겠습니다.
데이터 베이스
/* 데이터베이스 da 사용 */
use da;
da 데이터 베이스를 사용하겠습니다.
테이블 불러오기
/* insurance 테이블 모든 열 조회 */
select * from insurance;
이렇게 전 포스팅에서 불러온 insurance 데이터를
테이블로 불러왔습니다.
만약 새로운 데이터로 하시려면 불러오는 방법은
전 포스팅을 참고해주세요.
이제 비교 연산자를 시작하겠습니다.
비교 연산자
/* = : 같음 */
select * from insurance
where children = 2;
select로 insurance 테이블을 불러오고
where에 = 연산자를 이용하여 children이 2인 데이터만 불러왔습니다.
이번에는 children 데이터가 2가 아닌 행만 불러오겠습니다.
/* <> : 같지 않음 */
select * from insurance
where children <> 2;
이번에는 <> 연산자를 이용하여 children 데이터가
2가 아닌 모든 행을 불러왔습니다.
이번에는 2보다 크거나 같은 데이터만 불러오겠습니다.
/* >= : 크거나 같음 */
select * from insurance
where children >= 2;
>= 연산자를 이용하여 2보다 크거나 같은 데이터만 불러왔습니다.
/* <= : 작거나 같음 */
select * from insurance
where children <= 2;
<= 연산자를 이용하여 2보다 작거나 같은 데이터만 불러왔습니다.
/* > : 큼 */
select * from insurance
where children > 2;
> 연산자를 이용하여 2보다 큰 데이터만 불러왔습니다.
>= 와 다르게 children이 2인 데이터가 안 보이는 것을 확인할 수 있죠.
/* < : 작음 */
select * from insurance
where children < 2;
< 연산자를 이용하여 2보다 작은 데이터만 불러왔습니다.
<= 와 다르게 children이 2인 데이터가 안 보이는 것을 확인할 수 있습니다.
여기까지가 비교 연산자입니다.
이제 논리 연산자를 살펴보겠습니다.
논리 연산자
/* and : 앞뒤 조건 모두 만족 */
select * from insurance
where smoker = 'yes'
and children = 3;
첫 번째 논리 연산자인 and입니다.
and는 앞 조건과 뒤 조건을 둘 다 만족해야 합니다.
smoker 데이터가 yes이면서 children 데이터가 3이어야 하죠.
위의 사진을 보시면 둘다 만족하는 것을 볼 수 있습니다.
이제 not 연산자를 알아볼게요.
/* not : 뒤 조건과 반대 */
select * from insurance
where not smoker = 'yes'
and children = 3;
and 연산자를 사용했는데 smoker = 'yes' 앞에
not을 넣었습니다.
따라서 smoker 데이터는 yes가 아니고
children 데이터가 3인 행이 뽑힌 것을 확인할 수 있습니다.
smoker 데이터는 범주형으로 yes와 no만 존재하므로
모두 no가 뽑힌 것입니다.
마지막으로 or 연산자를 살펴보겠습니다.
/* or : 앞뒤 조건 하나라도 만족 */
select * from insurance
where smoker = 'yes'
or children = 3;
or 연산자는 앞 뒤 조건 둘 중 어느 것 하나라도 만족시키면 됩니다.
따라서 smoker 데이터가 yes인 행과
children 데이터가 3인 행 모두 가져옵니다.
즉, chidren 데이터가 3이 아니면 반드시 smoker 데이터는 yes여야 하고
smoker 데이터가 yes가 아니면 children 데이터는 3이어야 합니다.
여기까지 비교 연산자와 논리 연산자를 마치겠습니다!
'데이터분석 공부 > SQL' 카테고리의 다른 글
[SQL] 단일 행 함수 (0) | 2022.04.30 |
---|---|
[SQL] 특수 연산자, 집합 연산자 (0) | 2022.04.28 |
[SQL] 테이블 결합 - JOIN (0) | 2022.04.27 |
[SQL] 데이터 조회 - SELECT (0) | 2022.04.21 |
[SQL] 트랜젝션 제어어(TCL) (0) | 2022.04.20 |