SQL 선택사항 정교화(LIMIT, LIKE)

·2024년 3월 30일
0

MySQL

목록 보기
3/14
post-thumbnail

LIMIT

반환되는 결과의 수를 조절할 수 있음.

SELECT title, released_year FROM books ORDER BY released_year DESC LIMIT 5;
-- released_year 기준 내림차순으로 title, released_year 5개만 출력

SELECT title, released_year AS strRelease FROM books ORDER BY released_year LIMIT 0, 6;
-- 0부터 6까지의 결과만 보여줌

LIKE

기본 검색을 수행하는 데 유용한 연산자.

정확한 검색을 수행하기 위해서는 LIKE 연산자는 굳이 필요하지 않는다.

SELECT title, author_fname, author_lname FROM books WHERE author_fname="David";

모호한 검색 기능을 수행하기 위해서는 LIKE 연산자는 꼭 필요하다.

SELECT title, author_fname, author_lname FROM books WHERE author_fname LIKE '%da%';

LIKE 연산자 뒤에 오는 텍스트에 % 퍼센트 기호는 WILDCARDS (=== 와일드카드)라고 한다. 이 퍼센트 기호들은 모든 개수의 문자를 의미한다.

만약 SELECT title, author_fname, author_lname FROM books WHERE author_fname LIKE 'da%'; LIKE 뒤에 오는 특정 텍스트의 % 위치에 따라 반환값이 달라질 수 있는데, 'da%'가 의미하는 바는 da라는 텍스트 뒤에 0개 이상의 불분명한 텍스트까지 모두 반환하라는 의미가 된다.

반대로, '%da'라면 da라는 텍스트 앞에 0개 이상의 불분명한 텍스트까지 찾아서 보여준다.

그리고 _ (언더스코어)가 있다. 언더스코어 하나가 정확히 1개의 문자를 뜻한다.

SELECT title, author_fname, author_lname FROM books WHERE stock_quantity LIKE '__';
-- stock_quantity가 두 자리 인 것들만 출력

LIKE 요약

  • 퍼센트 기호는 문자열 내에서 어떤 일치 항목을 찾을 때 일반적으로 사용한다.
  • 언더스코어는 정확한 세부 사항을 통해 특정 개수의 문자를 찾고 있을 때 용할 수 있다.
  • 반드시 WHERE와 함께 사용해야한다. 그렇지 않으면 문법 에러를 출력한다.
SELECT author_fname FROM books WHERE author_fname LIKE '%n';
-- 작동
SELECT author_fname FROM books LIKE '%n'; 
-- 문법 에러 출력
  • %등의 특수 문자가 포함되어있는 것들을 찾기 위해서는 역슬래쉬\를 넣어주면 조회가 가능하다.
SELECT title FROM books WHERE title LIKE '%\%%'; 
-- \% << %가 포함된 title을 조회

SELECT title FROM books WHERE title LIKE '%\_%';
-- \_ << _가 포함된 title을 조회
profile
- 배움에는 끝이 없다.

0개의 댓글