논리 연산자로, 종류는 더 많지만 가장 많이 사용하는 연산자부터 정리해보자.
1) 데이터베이스에 mydb가 있는지 확인
2) mydb로 이동
3) mydb에 있는 테이블 확인
4) celeb 테이블의 데이터 조회
다음의 과정은 동일하다
select column1, column2, ... from table_name
where condition1 and condition2 and condition3, ...;
조건 condition1, 2, 3, 를 모두 만족해야 한다.
만약, 세 가지 조건 중 하나라도 만족하지 않으면 True 가 반환되지 않기 때문에 데이터가 조회되지 않는다.
select column1, column2, ... from table_name
where condition1 or condition2 or condition3, ...;
하나의 조건이라도 만족하면, True가 반환되어 조건에 맞는 데이터가 조회된다.
select column1, column2, ... from table_name
where not condition;
조건을 만족하지 않으면, True가 반환되어 조건에 맞는 데이터가 조회된다.
select column1, column2, ... from table_name
where column between value1 and value2;
column 값이 value1 와 value2 사이에 있다면, True가 반환되어 조건에 맞는 데이터가 조회된다.
select column1, column2, ... from table_name
where column in (value1, value2, ...);
column 값이 목록 안에 존재하는 경우, True가 반환되어 조건에 맞는 데이터가 조회된다.
OR
연산자를 이용해도 결과가 같다.
select column1, column2, ... from table_name
where column like 'pattern';
column 값이 패턴에 맞으면, True가 반환되어 조건에 맞는 데이터가 조회된다.
'A%'
'%X'
'%B%'
'_Y%'
'가_%'
'가____%'
'가%우'
'%, %'
1) celeb 테이블에서 직업중 가수가 포함되어 있고 성이 이씨인 데이터 조회하세요.
2) celeb 테이블에서 성별이 남자 이거나 직업명이 ‘텔런트’ 로 끝나면서 최소 5글자 이상인 데이터를 조회하세요.
3) celeb 테이블에서 이름이 두글자인 데이터를 조회하세요.
4) celeb 테이블에서 나이가 30세 이상 50세 이하면서 개그맨이 아닌 데이터를 조회하세요.
5) celeb 테이블에서 아이유, 이미주, 유재석, 송강 중에 소속사 이름이 ‘나무’로 시작하는 데이터를 조회하세요.
⭐ 6) celeb 테이블에서 아이유, 이미주, 송강, 이수현 중에 가수만 직업으로 가졌거나,
가수를 병행하지 않고 텔런트를 하는 사람을 찾으세요.
select * from celeb where name in ('아이유', '이미주', '송강', '이수현')
and (job_title like '가수' or job_title like '배우');
이렇게 해도 결과값은 똑같다. 여러가지 방법을 알아두자 !