본문 바로가기

IT/Database

SQL, LIKE 연산자

1. SQL(Structured Query Language)

 

・ 처음으로 SQL 언어에 대해서 포스팅하기 때문에, SQL의 위키백과를 설명을 보겠습니다.

 

SQL은 구조화 질의어라고 하며, 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어입니다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었습니다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있습니다.

 

・ 요약하자면, RDBMS에서 데이터 또는 스키마를 생성, 조작을 하기 위한 프로그래밍 언어입니다.

2. LIKE

 

・ LIKE 연산자는 주로 WHERE과 함께 사용되는데, 이 조건문에서 지정된 패턴을 검색하는 데 사용합니다.

 

・ 기본적인 구문은 다음과 같습니다.

 

//BellStone과 일치하는 값
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME LIKE 'BellStone';

 

・ 위와 같이 검색하였을 경우, BellStone과 완전히 일치하는 결괏값만 표시됩니다. 만약에 BellStone를 포함하는 다른 문자열을 검색하고 싶다면, 와일드카드를 함께 사용해야 합니다.

3. 와일드카드(Wildcard)

 

・ 와일드카드란, 특정 문자 또는 문자열을 대체하기 위하여 사용하는 기호입니다. 특정 패턴이나, 일부분이 일치하는 경우에 사용합니다.

 

・ 흔히, LIKE 연산자와 함께 사용하는 와일드카드로는 '%'와 '_'가 있습니다.

 

와일드카드 의미
% 0 또는 1, 그리고 임의의 문자열을 대신합니다.
_ 임의의 문자를 대신합니다.

 

・ 먼저, % 는 0 또는 1, 임의의 문자열을 의미하는데, 아래와 같이 사용할 수 있습니다.

 

//BellStone으로 시작하는 결과값
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME LIKE 'BellStone%';

//BellStone으로 끝나는 결과값
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME LIKE '%BellStone';

//BellStone을 포함하고 있는 결과값
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME LIKE '%BellStone%';

 

・ _는 임의의 문자를 의미하고, 아래와 같이 사용합니다.

 

//BellStone으로 시작하고 뒤에 한 글자인것 ex)BellStone1, BellStone2, BellStone3
//BellStone33이면 검색이 안됩니다. 'BellStone__'이렇게 검색해야합니다.
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME LIKE 'BellStone_';

//BellStone으로 끝나는 결과값 ex)1BellStone, 2BellStone, 3BellStone
//33BellStone이면 검색이 안됩니다. '__BellStone'이렇게 검색해야합니다.
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME LIKE '_BellStone';

//BellStone을 앞뒤로 한 글짜씩 포함하고 있는 결과값
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME LIKE '_BellStone_';

 

・ 해당 포스트는 w3schools를 참고하여 작성하였습니다.

 

・ 그럼 끝!

'IT > Database' 카테고리의 다른 글

SQLite, .mode 커맨드를 이용한 데이터 확인  (0) 2019.06.03
DBeaver, GUI로 DB 관리하기!  (0) 2019.05.30
SQL, 정규 표현식 패턴  (0) 2019.05.26