SQL/SQL 기본

SQL 기본(2): 와일드 카드(문법 간 조합 가능)

민서타 2023. 8. 17. 17:01

1. 기본 구문:

SELECT <col> FROM [table] WHERE <col> Like '%value'

SELECT <col> FROM [table] WHERE <col> Like 'A_C%' / SELECT <col> FROM [table] WHERE <col> Like '__F%'

  • %조건%: 앞 뒤에 어느 문자열이 와도 조건문에 포함된 데이터 반환
  •  _(underscore): 어떤 글자이든 하나의 글자만 허용 #_사용: A_(전체 글자 2개, A로 시작), _A, _A_(세글자 중 가운데)
  • [(text)]: [A,B,C]% 또는 [A-C]%: 첫 글자가 A 또는 B또는 C 시작검색 / %[A,B,C] %[A-C] 마지막 글자가 ~로 끝나는 문자
  • [^(text)]: ^뒤에 적힌 글자를 제외한 글자들을 허용 #NOT이 아닌 ^사용 [^A]% 첫 번쨰 글자가 A가 아닌 모든 문자열
  • 특정 문자열을 포함하는 문자열 검색은 %사용, %는 0개 이상으 ㅣ문자열과 대치 A%, %A, %A%

--특정 문자열을 포함하는 데이터 검색
SELECT * FROM nasdaq_company WHERE symbol LIKE 'A%'

--마지막 글자가 A인 문자열
SELECT * FROM nasdaq_company WHERE symbol LIKE '%A'

--A라는 글자로 시작하지 않으면서 뒤에 어떠한 글자가 와도 상관이 없는 검색
SELECT * FROM nasdaq_company WHERE symbol NOT LIKE '%A%'

--WITH CTE(테이블 구문)테이블 형태처럼 만들어 사용
WITH CTE (col1) AS (
SELECT 'A%BC' UNION ALL
SELECT 'A_BC' UNION ALL
SELECT 'ABC'
)
-- #뒤 문자까지 제외하고 검색
SELECT * FROM CTE WHERE col1 LIKE '%#%%' ESCAPE '#'

 

--A로 시작하며 다음과 같은 문자를 포함하는
SELECT * FROM nasdaq_company WHERE symbol LIKE 'A[A,B,C]'
SELECT * FROM nasdaq_company WHERE symbol LIKE 'A[A-C, G, M-R]'
SELECT * FROM nasdaq_company WHERE symbol LIKE 'A[C,P][^T]%W'

반응형