[ Lesson 1. SELECT 전반 기능 훑어보기 ]
5. 원하는 만큼만 데이터 가져오기
LIMIT {가져올 갯수} 또는 LIMIT {건너뛸 갯수}, {가져올 갯수} 를 사용하여, 원하는 위치에서 원하는 만큼만 데이터를 가져올 수 있습니다.
SELECT * FROM Customers
LIMIT 30, 10;
SELECT
CustomerID AS '아이디',
CustomerName AS '고객명',
City AS '도시',
Country AS '국가'
FROM Customers
WHERE
City = 'London' OR Country = 'Mexico'
ORDER BY CustomerName
LIMIT 0, 5;
[ Lesson 2. 각종 연산자들 ]
총정리
연산자 의미
+, -, *, / | 각각 더하기, 빼기, 곱하기, 나누기 |
%, MOD | 나머지 |
IS | 양쪽이 모두 TRUE 또는 FALSE |
IS NOT | 한쪽은 TRUE, 한쪽은 FALSE |
AND, && | 양쪽이 모두 TRUE일 때만 TRUE |
OR, || | 한쪽은 TRUE면 TRUE |
= | 양쪽 값이 같음 |
!=, <> | 양쪽 값이 다름 |
>, < | (왼쪽, 오른쪽) 값이 더 큼 |
>=, <= | (왼쪽, 오른쪽) 값이 같거나 더 큼 |
BETWEEN {MIN} AND {MAX} | 두 값 사이에 있음 |
NOT BETWEEN {MIN} AND {MAX} | 두 값 사이가 아닌 곳에 있음 |
IN (...) | 괄호 안의 값들 가운데 있음 |
NOT IN (...) | 괄호 안의 값들 가운데 없음 |
LIKE '... % ...' | 0~N개 문자를 가진 패턴 |
LIKE '... _ ...' | _ 갯수만큼의 문자를 가진 패턴 |
❗ 문자열에 사칙연산을 가하면 0으로 인식
💡 MySQL에서는 TRUE는 1, FALSE는 0으로 저장됩니다.
❗ MySQL의 기본 사칙연산자는 대소문자 구분을 하지 않습니다.
[ Lesson 3. 숫자와 문자열을 다루는 함수들 ]
1. 숫자 관련 함수들
ROUND | 반올림 |
CEIL | 올림 |
FLOOR | 내림 |
ABS | 절대값 |
GREATEST | (괄호 안에서) 가장 큰 값 |
LEAST | (괄호 안에서) 가장 작은 값 |
=/ MAX, MIN : 여러 행들 중에서 최댓값과 최솟값을 구함
SELECT
OrderDetailID, ProductID, Quantity,
GREATEST(OrderDetailID, ProductID, Quantity),
LEAST(OrderDetailID, ProductID, Quantity)
FROM OrderDetails;
💡 그룹 함수 - 조건에 따라 집계된 값을 가져옵니다.
MAX | 가장 큰 값 |
MIN | 가장 작은 값 |
COUNT | 갯수 (NULL값 제외) |
SUM | 총합 |
AVG | 평균 값 |
POW(A, B), POWER(A, B) | A를 B만큼 제곱 |
SQRT | 제곱근 |
SQRT(16) = POWER(16, 1/2)
TRUNCATE(N, n) | N을 소숫점 n자리까지 선택 |
: 반올림은 안됨
SELECT
TRUNCATE(1234.5678, 1),
TRUNCATE(1234.5678, 2),
TRUNCATE(1234.5678, 3),
TRUNCATE(1234.5678, -1),
TRUNCATE(1234.5678, -2),
TRUNCATE(1234.5678, -3);
SELECT Price FROM Products
WHERE TRUNCATE(Price, 0) = 12;
: Price가 12.xx인 것들만 뽑아냄
2. 문자열 관련 함수들
UCASE, UPPER | 모두 대문자로 |
LCASE, LOWER | 모두 소문자로 |
CONCAT(...) | 괄호 안의 내용 이어붙임 |
CONCAT_WS(S, ...) | 괄호 안의 내용 S로 이어붙임 |
SUBSTR, SUBSTRING | 주어진 값에 따라 문자열 자름 |
LEFT | 왼쪽부터 N글자 |
RIGHT | 오른쪽부터 N글자 |
LENGTH | 문자열의 바이트 길이 |
CHAR_LENGTH, CHARACTER_LEGNTH | 문자열의 문자 길이 (우리가 일반적으로 생각하는 글자수) |
TRIM | 양쪽 공백 제거 |
LTRIM | 왼쪽 공백 제거 |
RTRIM | 오른쪽 공백 제거 |
LPAD(S, N, P) | S가 N글자가 될 때까지 P를 이어붙임 |
RPAD(S, N, P) | S가 N글자가 될 때까지 P를 이어붙임 |
REPLACE(S, A, B) | S중 A를 B로 변경 |
INSTR(S, s) | S중 s의 첫 위치 반환, 없을 시 0 |
SELECT * FROM Customers
WHERE INSTR(CustomerName, ' ') BETWEEN 1 AND 6;
-- < 6으로 하면? => space가 아예 없는 것이 0이니까 없는것도 같이 출력됨 ㅠㅠ
CAST(A, T) | A를 T 자료형으로 변환 |
SELECT
'01' = '1',
CONVERT('01', DECIMAL) = CONVERT('1', DECIMAL);
'DB : MySQL | Oracle | MyBatis' 카테고리의 다른 글
MySQL 문법 정리 (w. 프로그래머스 SQL Lv. 3 문제 풀이) (0) | 2023.06.23 |
---|---|
MySQL Error Code: 1093. You can't specify target table 'table_name' for update in FROM clause 에러 해결 (0) | 2023.01.09 |
MySQL 기본 (4) : MySQL 설치 / 테이블 만들고 데이터 입력 / 자료형 / 데이터 변경, 삭제 (0) | 2022.09.28 |
MySQL 기본 (3) : 서브쿼리 / JOIN / UNION (0) | 2022.09.27 |
MySQL 기본 (2) : 시간/날짜 관련 및 기타 함수들 / 조건에 따라 그룹으로 묶기 (0) | 2022.09.27 |