지난 시간에 이어
MySQL 문자열 여러 함수중 유용한 함수의 정의와 활용 예시에 대하여 알아보겠습니다.
6. order by()
1) 정의
SQL에서 쿼리 결과를 정렬하는 데 사용되는 절입니다.
2) 기본 구문
SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ... -- asc : 오름차순(기본값) -- desc : 내림차순 |

(1) 예시 (별칭사용)
조건 1. full_name으로 내림차순 정렬
SELECT *, concat( author_fname,' ', author_lname ) as full_name from books order by full_name desc; -- SELECT 문에서 정의한 별칭을 사용할 수 있습니다. (예: full_name) |

(2) 예시 (여러 열 기준 정렬)
조건 1. author_lname으로 정렬하되
조건 2. lname 이 같으면, author_fname으로 정렬하자.
SELECT *
from books order by author_lname , author_fname; -- 여러열을 정렬할경우 쉼표로 구분하여 여러 열을 기준으로 정렬할 수 있습니다. |
7. limit()
1) 정의
SQL에서 쿼리 결과의 행 수를 제한하는 데 사용되는 절입니다. 주요 특징은 다음과 같습니다.
2) 기본 구문
SELECT column1, column2, ... FROM table_name LIMIT number_of_rows |
(1) 예시
조건 1. books 테이블의 데이터를, 5개만 가져오세요.
SELECT *
from books limit 5; |
(2) 예시 (offset)
조건 1. books 테이블의 데이터를, 처음부터 5개 가져오세요.
SELECT *
from books limit 0 , 5 ; -- 0 , 5 에서 처음의 0은, 처음부터라는 뜻! 두번째의 5는, 5개씩 가져오라는 뜻. SELECT * from books limit 5 , 10 ; -- 5,10 의 경우 5번째에서 10개를 가져오라는 뜻. |

(3) 예시 (order by 복합조건)
조건 1. 출간 연도 내림차순으로 정렬하여
조건 2. 14번째부터 7개의 데이터를 가져오시오.
SELECT *
from books order by released_year DESC -- DESC 내림차순 limit 14, 7; |

8. like()
1) 정의
SQL에서 LIKE 연산자는 문자열 패턴 매칭에 사용되는 중요한 키워드입니다.
2) 기본 구문
SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern; |
(1) 예시 (문자포함 : %)
조건 1. 책 제목에 the로 시작하는 책 데이터를 가져오시오.
SELECT *
from books where title like 'the%'; -- the로 시작하는 문자열
SELECT *
from books where title like '%e'; -- e로 시작하는 문자열
SELECT title
from books where title like '%stories%'; -- stories를 포함하는 문자열 |

(1) 예시 (정확한 수의 임의 문자 : _ )
조건 1. stock_quantity의 숫자가, 두 자리 수인 데이터만 가져오시오.
SELECT *
from books where stock_quantity like '__'; -- "_" 와 "_" 각각 두자리의 정확한 문자열 -- 'a_%' : 'a'로 시작하고 최소 2자 이상인 문자열 |
(2) 예시 - 부정
조건 1. 책 제목에 W가 들어있지 않은 책을 가져오시오.
SELECT *
FROM books WHERE title not like '%W%'; |

(3) 예시 - null
조건 1. 재고가 null 인 데이터를 가져오시오.
조건 2. 재고가 null 이 아닌 데이터를 가져오시오.
SELECT *
FROM books WHERE stock_quantity is null;
SELECT *
FROM books WHERE stock_quantity is not null; |
(4) 예시 - 복합
조건 1. stock_quantity뒤에 "in stock" 붙이고 칼럼은 quantity로 변경
조건 2. author_lname과 author_fname 중간게 " " 공란을 두고 칼럼은 author로 변경
조건 3. 첫 번째부터 10번째 이후 글자는 "..."으로 하고 칼럼은 short title로 변경
SELECT CONCAT( SUBSTR( title , 1, 10 ) , '...' ) as 'short title' ,
CONCAT( author_lname, ',' ,author_fname ) as author, CONCAT( stock_quantity , ' in stock' ) as quantity from books; |

'DB > 실습' 카테고리의 다른 글
13. [ DB ] MySQL 확장 : 스키마(Schema) 활용 - 어플 / 카페 (1) | 2024.12.06 |
---|---|
11. [ DB ] MySQL 문법 : JOIN의 활용 예시 (0) | 2024.12.05 |
9. [ DB ] MySQL 숫자열 함수 : 정의와 활용 예시 (0) | 2024.11.30 |
7. [ DB ] MySQL 문자열 함수 : 정의와 활용 예시 (1) (2) | 2024.11.29 |
6. [ DB ] MySQL의 CRUD 작업 : 정의와 활용 예시 (0) | 2024.11.27 |