DataBase/MySQL

MySQL 문법 정리

Dev_Green 2022. 10. 12. 16:20

WHERE

SELECT 로 가져올 데이터에 조건을 걸어주는 절

SELECT * FROM users
WHERE user_id = 1

WHERE 절과 자주 같이 쓰이는 문법

  • 같지 않음
select * from orders
where course_title != "ABC";

 

  • 범위
select * from orders
where created_at between "2020-07-13" and "2020-07-15"

## 날짜의 경우 between A and B 일 때, A 부터 (B-1) 까지 조회됨에 유의
## 날짜에 따옴표 필수. 숫자만 쓰면 안돼

 

 

  • 이 중에 네 것이 있느냐
select * from users 
where name in ('kim', 'lee');

 

  • 특정 문자 포함
select * from users 
where email like '%daum.net'

a로 시작하고 com으로 끝나는 문자: 'a%com'

 

LIMIT

출력할 데이터의 개수

select * from users 
limit 5

 

DISTINCT

중복된 데이터 제외

select distinct(payment_method) from orders;

 

NULL 처리

  • IFNULL
SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명

 

  • COALESCE

인수들 중 NULL이 아닌 첫번째 값 반환

// 컬럼을 하나만 제시하면 IFNULL과 동일
SELECT COALESCE(Column명1, Column명1이 NULL인 경우 대체할 값)
FROM 테이블명

// 컬럼이 여러개 주어지면 차별점 생기지
// Column1 ~ 4 중 NULL이 아닌 첫 번째 Column을 출력
SELECT COALESCE(Column명1, Column명2, Column명3, Column명4)
FROM 테이블명

 

  • CASE
select 
    case 
    	when (조건) then (참일 때 값)
        else (나머지 경우일 때 값)
    end
from table

 

DATE_FORMAT

SELECT DATE_FORMAT(NOW(), '날짜형식') FROM table