본문 바로가기

문제풀기/프로그래머스 문제풀이

[MySQL 문법 정리] 프로그래머스 Level1 문제를 통한 쿼리문 사용법 정리(LIKE, SUBSTR, LEFT, LENGTH 함수)

728x90
반응형

안녕하세요~ 오늘도 프로그래머스 문제들을 풀어보면서 공부한 쿼리문들에 관해서 정리해보겠습니다~!!

 

◎ 문자열 검색 및 추출 함수

NO 함수명 상세 설명
1 LIKE 원하는 문자열과 일치하는 컬럼을 조회할 때 사용하는 함수
2 SUBSTR 문자열의 일부분을 추출할 때 사용하는 함수( SUBSTRING과 거의 동일 )
3 LEFT 왼쪽부터 지정된 길이만큼의 문자를 추출하는 함수
4 LENGTH 문자열의 길이를 반환하는 함수

 

1. LIKE 함수

   ▷ 원하는 문자열과 일치하는 컬럼을 조회할 때 사용하는 함수

 

◎ 사용법

1. LIKE 사용 방법

SELECT * FROM 테이블명 WHERE 컬럼1 LIKE '찾는 값';


▷ 해당 테이블의 컬럼1 열의 값이 '찾는 값'과 같은 문자열을 가지는 행을 모두 출력합니다.


◎ 예시

SELECT * FROM board WHERE title LIKE '오늘';


▷ board 테이블에 title이 '오늘'과 같은 행들을 모두 출력합니다.



2. 문자열 포함되는 값 조회 방법

추가로 '%', '_'를 이용해서 해당 문자열이 포함된 함수들을 출력할 수 있습니다.

◎ 예시

-- 1. board 테이블에 title이 '오늘'로 시작하는 행들을 모두 출력합니다.
SELECT * FROM board WHERE title LIKE '%오늘';


-- 2. board 테이블에 title이 '오늘'로 끝나는 행들을 모두 출력합니다..
SELECT * FROM board WHERE title LIKE '오늘%';


-- 3. board 테이블에 title에 '오늘'이 포함되는 행들을 모두 출력합니다.
SELECT * FROM board WHERE title LIKE '%오늘%';


-- 4. board 테이블에 title에 '오늘'을 포함한 세글자로 구성된 문자열의 행들을 모두 출력합니다.
-- 예시 : 오늘은, 오늘만, 오늘을 ...   // 틀린 예시 : 늘오늘, 가오늘 ...
SELECT * FROM board WHERE title LIKE '오늘_';

 

 

2. 문자열 추출 함수

 (1) SUBSTR, SUBSTRING

   ▷ 문자열의 일부분을 추출할 때 사용하는 쿼리문

   ▷ SUBSTR은 대부분의 DB에서 호환되지만, SUBSTRING은 MySQL에서만 사용 가능

 

 (2) LEFT

   ▷ 왼쪽부터 지정한 길이만큼 문자열을 추출할 때 사용하는 함수

 

◎ 사용법

1. SUBSTR, SUBSTRING 사용 방법

-- 1. 컬럼1의 시작 인덱스부터 끝까지 출력합니다.
SELECT SUBSTR(컬럼1, 시작 인덱스) FROM 테이블명;


-- 2. 컬럼1의 시작 인덱스부터 길이만큼 출력합니다.
SELECT SUBSTR(컬럼1, 시작 인덱스, 길이) FROM 테이블명;


▷ 시작 인덱스는 배열과는 다르게 첫번째 글자가 1부터 시작합니다.
예시 : substr('오늘의 날씨는', 3) → '의 날씨는' 출력


◎ 예시

-- 1. 출력 값 : '늘의 날씨는'
SELECT SUBSTR('오늘의 날씨는', 2) FROM board;


-- 2. 출력 값 : '늘의'
SELECT SUBSTR('오늘의 날씨는', 2, 3) FROM board;


▷ substr과 substring은 동일하게 출력됩니다!!



2. LEFT

SELECT LEFT(컬럼1, 길이) FROM 테이블명;


▷ 왼쪽부터 길이만큼의 글자수가 출력됩니다.


◎ 예시

SELECT LEFT('오늘의 날씨는', 3);


▷ 출력 값 : '오늘은'

 

 

3. LENGTH 함수

   ▷ 문자열의 길이를 출력할 때 사용하는 함수

 

◎ 사용법

1. LENGTH 사용 방법

SELECT LENGTH(문자열);


▷ 문자열의 길이를 출력합니다.



◎ 예시

SELECT LENGTH('오늘의 날씨는');


▷ 출력 값 : 7 (공백도 문자열의 길이에 포함)

 

문자열 검색 및 문자열 추출 함수를 이용하면 검색을 할 때 쿼리문을 이용하면 간편하게 나타낼 수 있겠어요!!

쿼리문을 응용해서 문제들을 해결해보도록 할게요ㅎㅎ

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

 

728x90
반응형