MYSQL - SELECT 문 정리
- 모든 컬럼 조회
1
SELECT * FROM 테이블;
- 특정 컬럼 조회
1
SELECT 컬럼1, 컬럼2 FROM 테이블;
- 중복 제외 조회
1
SELECT DISTINCT 컬럼1, 컬럼2 FROM 테이블;
정렬 (ORDER BY)
오름차순 정렬 조회
1
SELECT * FROM 테이블 ORDER BY 컬럼1 ASC(생략가능);
내림차순 정렬 조회
1
SELECT * FROM 테이블 ORDER BY 컬럼1 DESC;
조건 (WHERE)
조건에 맞는 행 조회
1
SELECT 컬럼 FROM 테이블 WHERE 조건;
조건 중 하나라도 만족하는 행 조회
1
2SELECT * FROM 테이블 WHERE 조건1 OR 조건2;
SELECT * FROM 테이블 WHERE 컬럼 IN (조건1, 조건2, ..);
개수 구하기 (COUNT)
전체 행 개수 조회
1
SELECT COUNT (*) FROM 테이블;
중복을 제외하고 카운트
1
SELECT COUNT (DISTINCT 컬럼1) FROM 테이블;
특정 문자 포함 검색 (LIKE)
특정 문자로 시작하는 데이터 검색
1
SELECT 컬럼1 FROM 테이블 WHERE 컬럼1 LIKE "%특정문자열";
특정 문자로 끝나는 데이터 검색
1
SELECT 컬럼1 FROM 테이블 WHERE 컬럼1 LIKE "특정문자열%";
특정 문자 포함 데이터 검색
1
SELECT 컬럼1 FROM 테이블 WHERE 컬럼1 LIKE "%특정문자열%";
그룹화하기 (GROUP BY)
컬럼 그룹화하기
1
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼;
조건 후에 그룹화
1
SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼;
그룹화 후에 조건
1
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼 HAVING 조건식;
NULL 값 체크
NULL 인 것을 검색
1
2SELECT 컬럼 FROM 테이블 WHERE 컬럼 IS NULL;
SELECT 컬럼 FROM 테이블 WHERE 컬럼 <=> NULL;NULL 이 아닌 것을 검색
1
SELECT 컬럼 FROM 테이블 WHERE 컬럼 IS NOT NULL;
조건문 사용
IF 문
1
2
3SELECT 컬럼, IF(조건식, 참일 때 값, 거짓일 때 값) FROM 테이블;
// ex) name컬럼이 null 값인 경우 No name 이란 문자열 출력
SELECT name, IF(NAME IS NULL, "No name", name) FROM 테이블;CASE 문
1
2SELECT CASE WHEN 값 또는 조건식1 THEN '표시값' WHEN 값 또는 조건식2 THEN '표시값2' END FROM 테이블;
SELECT CASE WHEN 값 또는 조건식1 THEN '표시값' WHEN 값 또는 조건식2 THEN '표시값2' ELSE '표시값3' END FROM 테이블;IFNULL 문 : 컬럼의 값이 NULL 이면 표시값 출력, NULL 이 아니라면 컬럼의 값 출력
1
SELECT IFNULL(컬럼, '표시값') FROM 테이블;
날짜 데이터 일부 추출
- YEAR() : 연도 추출
- MONTH() : 월 추출
- DAY() : 일 추출 (DAYOFMONTH와 같은 함수)
- HOUR() : 시 추출
- MINUTE() : 분 추출
- SECOND() : 초 추출
날짜 형식 설정 - DATE_FORMAT
- 현재 날짜 표시
1
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') FROM 테이블;
- %Y : 4자리 년도
- %y : 2자리 년도
- %M : 긴 월 (영문)
- %b : 짧은 월 (영문)
- %m : 숫자 월 (두 자리)
- %d : 일자 (두 자리)
- %W : 긴 요일 이름 (영문)
- %a : 짧은 요일 이름 (영문)
- %i : 분
- %S : 초
- %T : hh:mm:SS
- %r : hh:mm:ss AM,PM
- %e : 일자 (한 자리는 한 자리로)
- %c : 숫자 월 (한 자리는 한 자리로)
- %H : 시간 (24시간)
참조
https://devjhs.tistory.com/89
https://doorbw.tistory.com/22
https://extbrain.tistory.com/51