나고없 2021. 8. 23. 11:28

SQL) like 구문에 사용되는 특수문자 두개 : %, _ 를 알아보자

 

' % '
  like 구문 특성 문자열 위치에 부합하는 길이 상관 없는 모든 문자열
  select * from employees e 
  -- employees 테이블에서 first_name 이 'P'로 시작하는 모든 사람을 찾아주시오
  select * from employees where first_name like 'P%'
  -- employees 테이블에서 first_name 이 'p'로 끝나는 모든 사람을 찾아주시오
  select * from employees where first_name like '%p'
  -- employees 테이블에서 first_name 에 'ur'이 들어가는 모든 사람을 찾아주시오
  select * from employees where first_name like '%ur%'
  -- employees 테이블에서 first_name 에 'u' 또는 'r' 이 들어가는 모든 사람을 찾아주시오
  select * from employees where first_name like '%u%r%'

' _ '
   like 구문 특정 문자열 위치에 부합하는 '한개' 길이 단위의 모든 문자열
  -- select * from employees where 'P' 로 시작하는 다섯개 이름길이인 모든 사람을 찾아 주시오
  select * from employees where first_name like 'P____'

  -- 문제 1 : 아래쿼리의 뜻을 한국어로 작성하세요 
  -- last_name 이 cello로 끝나는 모든 사원을 찾아주세요
  select * from employees where last_name like '%cello'

  -- 문제 2: 아래쿼리의 뜻을 한국어로 작성하세요
  -- 고용 날짜가 1986년인 모든 사원을 찾아주세요
  select * from employees where hire_date like '1986%'
  -- date 날짜로서 날짜 계산을 하기 용이하도록 주어진 데이터 타입

  -- 문제 3: 아래쿼리의 뜻을 한국어로 작성하세요
  -- last_name 이 bl포함 4글자로 끝나는 모든 사원을 찾아주세요
  select * from employees where last_name like '%bl__'

  -- 문제 4(쿼리작성) : employees에서 first_name이 'ew'로 끝나는 성별이 여자인 모든 사람을 채용일 기준

     오름차순으로 가져오시오.
  select *

  from employees e

  where first_name like '%ew' and e.gender='F' order by hire_date asc


  -- 문제 5(쿼리작성) : employees에서 last_name이 모음(a,e,i,o,u)으로 끝나는 모든 남자를 생일 기준 내림차순으로

     가져오시오


  -- tip : 비교 연산자, 사칙 연산자를 복수 개 이상 쓰는 경우, 의도대로 괄호 표시를 할것