SQL, LIKE & Wildcard, 별칭, 정렬, 조건문, CAST

sky.dev·2025년 4월 28일

Data&AI-Uni.

목록 보기
22/77
post-thumbnail

SQL은 데이터를 다루는 데 있어 가장 핵심적인 언어

데이터를 조회하고 분석할 때 필요한 필수 기능 중 LIKE, 와일드카드, 별칭(alias), 정렬, 중복 제거, 조건문, 데이터 타입 변환까지


LIKE, Wildcard

LIKE

조회 조건 값 불명확할 경우 사용한다.
문자, 숫자 모두 조건에 포함할 수 있다.
Wildcard와 같이 사용한다.

SELECT * FROM bike
WHERE weekday LIKE '%ur';

Wildcard

SQL에서 문자열 패턴을 지정할 때 사용하는 기호
% : 0개 이상의 모든 문자 (아무 글자나 몇 개든 상관없음)
_ : 정확히 한 글자 (글자 수를 정할 때 사용)

SELECT * FROM bike
WHERE mnth LIKE 'ma_';

별칭(Alias)

임시로 컬럼명 변경 시 사용한다.
기존 컬럼명의 물리적 변경은 없다.

사용방법

SELECT 컬럼명 AS 별칭
FROM 테이블명 AS 별칭

AS는 생략 가능
대소문자, 공백, 특수문자가 있을 경우 " " 혹은 ' '으로 묶기

SELECT hum AS humidity, temp
FROM bike;

hum 컬럼에 humidity라는 이름을 붙여서 조회

SELECT b.temp, b.hum
FROM bike AS b;

bike 테이블에 b라는 별칭을 붙여 간결하게

데이터 정렬 Order By

SELECT
FROM
WHERE
ORDER BY
LIMIT

때로는 특정 조건에 따라 데이터를 오름차순 또는 내림차순으로 정렬해야 한다.

기본문법

SELECT ...
FROM ...
WHERE ...
ORDER BY 컬럼명 [ASC|DESC];

ASC : 오름차순 (기본값, 생략 가능)
DESC : 내림차순 (생략 불가능)

SELECT dteday, temp, cnt
FROM bike
ORDER BY cnt DESC, temp ASC
LIMIT 100;

중복 제거 Distinct

데이터에서 중복된 값을 제거하고 고유값만 보고 싶을 때 사용한다.

SELECT DISTINCT 컬럼명
FROM 테이블명;

모든 column을 고려해서 중복을 제거한다.
집계함수도 사용 가능하다

조건문 IF, CASE WHEN ~ THEN ~

IF

단일 조건에 따라 값을 다르게 반환할 수 있다.

SELECT customer_name,
       birthday,
       IF(birthday >= '1990-01-01', '이후', '이전') AS '1990년 기준'
FROM customers;

CASE WHEN

다중 조건이 필요한 경우 CASE WHEN

SELECT customer_name,
       credit_limit,
       CASE 
           WHEN credit_limit >= 100000 THEN '10만원 이상'
           WHEN credit_limit >= 50000 THEN '5만원 이상'
           ELSE '5만원 미만'
       END AS limit_group
FROM customers;

데이터 타입 변환 CAST

데이터 타입 변환 함수

SELECT CAST(컬럼 AS 타입)
FROM 테이블;

사용 가능한 타입:

INT : 정수

FLOAT : 실수

VARCHAR(n) : 최대 n자리 문자열

DATETIME : 날짜/시간

0개의 댓글