SQL 3일차 chapter7(~17)

박영선·2023년 5월 18일
0

논리연산자

AND

조건을 모두 만족하는 데이터 검색

나이 29세, 여성 검색

SELECT * FROM celeb WHERE age=20 AND sex = 'F';

남자, 40세 이상 이름 역순 정렬

where age > 40 and sex = 'M' order by name DESC;

OR

조건 중 하나라도 만족하는 데이터 검색

나이가 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;

YG거나 안테나 소속, 소속사 순 정렬

select * from celeb where agency = 'YG엔터테인먼트' or agency = '안테나' order by agency;

남자이면서 YG소속이거나 , 나이가 30세보다 작은 데이터를 나이, 소속사 순 정렬

select * from celeb where (sex = 'M' and agency = 'YG엔터테인먼트') or age < 30 order by age, agency;

아이디가 홀수면서 성별이 남자거나 / 아이디가 짝수면서 소속사가 YG인 데이터를 나이순 정렬

select * from celeb where ((id%2) = 1 and sex = 'M') or ((id%2)=0 and agency = 'YG엔터테인먼트')
    -> order by age;

NOT

조건을 만족하지 못하는 경우 TRUE (즉, 조건에 맞지 않는 데이터를 검색)

성별이 여자가 아닌 데이터 검색

SELECT * FROM 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 > 19891231 and not sex = 'F') OR
    -> (birthday < 19800101 and not agency='안테나');

YG가 아니고 40세 이하인 데이터 이름순 정렬

select * from celeb where (not agency = 'YG엔터테인먼트' and age <=40) order by name;

성별이 남자가 아니거나 / 나이가 30세 이상 데이터 나이 역순 정렬

select * from celeb where(not sex = 'M' or age >=30) order by age DESC;

직업이 가수가 아니면서 여자거나 / 40보다 작지 않으면서 아이디가 홀수

select * from celeb where (not job_title = '가수' and sex = 'F') or
    -> (not age < 40 and (id%2) =1);

profile
데이터분석 공부 시작했습니다

0개의 댓글