[제로베이스 데이터 취업스쿨] 23.07.13 스터디 노트

김준호·2023년 7월 14일
0
post-thumbnail

1. Logical Operators(논리 연산자)

실습 환경

  • zerobase database
  • celeb table

1) AND

  • 나이가 29세이고 성별이 여성인 데이터 검색
select * from celeb where age=29 and sex='F';

  • 성별이 남자이고 나이가 40세보다 큰 데이터를 이름의 역순으로 정렬하여 검색
select * from celeb where sex = 'M' and age>40 order by name desc;

2) OR

  • 나이가 25세보다 작거나 30세 보다 크고 나이로 오름차순 검색
select * from celeb where age<25 OR age>30 order by age;

  • 나이가 29세 보다 작고 여자이거나, 나이가 30세보다 크고 남자인 데이터를 나이와 성별순으로 정렬하여 검색
select * 
from celeb
where (age <29 AND sex='F') OR (age > 30 AND sex ='M')
order by age, sex;

  • YG엔터텡먼트 소속이거나 나무엑터스 소속인 연예인 중, 나이가 30세보다 작은 데이터
select *
from celeb
where (agency='YG엔터테이먼트' OR agency='나무엑터스') AND age<30;

  • id가 홀수면서 성별이 남자이거나, id가 짝수면서 소속사가 YG엔터테이먼트인 데이터를 나이순으로 정렬
select *
from celeb
where ((id%2=1) and sex='M') OR (id%2=0 and agency='YG엔터테이먼트')
order by age;

3) NOT

  • 성별이 여자가 아닌 데이터 검색
select *
feom celeb
where NOT sex='F';

  • 소속사가 YG엔터테이먼트 이면서 남자가 아니거나 직업이 가수이면서 소속사가 YG엔터데이먼트가 아닌 데이터 검색
select *
from celeb
where 
agency='YG엔터테이먼트'and not sex='m' 
or
job_title='가수'and not agency='YG엔터테이먼트';

  • 생일이 1990년 이후이면서 여자가 아니거나, 생일이 1979년 이전이면서 소속사가 안테나가 아닌 데이터 검색
select *
from celeb
where
birthday > 19901231 and not sex='F'
or
birthday < 19800101 and not agency='안테나';

4) BETWEEN

  • 나이가 20세 에서 40세 사이의 데이터 검색
select *
from celeb
where age between 20 and 40;

  • 꼭 between이 아니더라도 비교연산자로 검색 가능하다.
  • 생년월일이 1980년에서 1995년 사이가 아니면서 여자이거나, 소속사가 YG엔터테이먼트 이면서 나이가 20세에서 45세 사이가 아닌 데이터 검색
select *
from celeb
where 
(not birthday between 19800101 and 19951231) and (sex='F')
or
(agency='YG엔터테이먼트') and (not age between 20 and 45);

profile
취업공부

0개의 댓글