like 구분에 사용되는 특수문자 두개 : %, _
'%' = like 구분 특정 문자열 위치에 부합하는 길이 상관 없는 모든 문자열
-- employees 테이블에서 first_name이 'P'로 시작하는 모든 사람을 찾아 주시오
select * from employees where first_name like 'P%'
-- employees 테이블에서 first_name이 'p'로 끝나는 모든 사람을 찾아 주시오
select * from employees e2 where first_name like '%p'
-- employees 테이블에서 first_name에 'ur'이 들어가는 모든 사람을 찾아 주시오
select * from employees e3 where first_name like '%ur%'
-- employees 테이블에서 first_name에 'u' 또는 'r'이 들어가는 모든 사람을 찾아 주시오
select * from employees e4 where first_name like '%u%r%'
'_' = like 구문 특정 문자열 위치에 부합하는 '한개' 길이 단위의 모든 문자열
-- employees 테이블에서 first_name에 'P'로 시작하는 다섯개 이름길이인 모든 사람을 찾아 주시오
select * from employees e5 where first_name like 'P____'
문제
-- 문제 : employees 테이블에서 last_name이 cello롤 끝나는 사람을 찾으세요
select * from employees e where last_name like '%cello'
-- 문제 : employees 테이블에서 hire_date가 1986년도인 사람을 찾으세요
select * from employees e2 where hire_date like '1986%'
select * from employees where year(hire_date) = 1986
-- date(데이터 타입) 날짜로써 날짜 계산을 하기 용이하도록 주어진 데이터타입
-- 문제 : employees 테이블에서 last_name이 bl+2글자로 끝나는 사람을 찾으세요(bl??)
select * from employees e3 where last_name like '%bl__'
-- 문제(쿼리작성) : employees에서 first_name이 'ew'로 끝나는 성별이 여자인 모든 사람을 채용일 기준 오름차순으로 가져오시오.
select * from employees
where first_name like '%ew'
and gender = 'F'
order by hire_date
-- 문제(쿼리작성) : employees에서 last_name이 모음(a,e,i,o,u)으로 끝나는 모든 남자를 생일 기준 내림차순으로 가져오시오
-- 연산자 우선순위 정리를 어떻게 할 것인가?
select * from employees
where
gender = 'M'
and
(last_name like '%a'
or last_name like '%e'
or last_name like '%i'
or last_name like '%o'
or last_name like '%u')
order by birth_date desc
tip : 비교연산자, 사칙연산 연산자를 복수 개 이상 쓰는 경우라면, 의도하는대로 괄호 표시할 것
'Database' 카테고리의 다른 글
2021-08-23(트랜잭션) (0) | 2021.08.23 |
---|---|
2021-08-20(집계함수(group by)) (0) | 2021.08.20 |
2021-08-20(sql문 연습) (0) | 2021.08.20 |
2021-08-19 (Equi Join) (0) | 2021.08.19 |
2021-08-19(eXERD 식별(1:1)관계 실습) (0) | 2021.08.19 |