반응형
Notice
Hot Posts
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 등촌동속눈썹연장
- 백준
- OS
- 투포인터
- 리트코드
- BOJ
- 삼성
- 직무면접
- leetcode
- 딥러닝
- Java
- 마곡속눈썹연장
- 카카오
- 프로그래머스
- level2
- 시뮬레이션
- 삼성 SW역량테스트 기출
- 운영체제
- 삼성SW역량테스트
- 추석트래픽
- 1차면접
- 코딩테스트
- 등촌동속눈썹펌
- 마곡속눈썹펌
- ai/bigdata
- 포스코
- 다시보기
- 수학
- 정렬
- 알고리즘
Archives
- Today
- Total
기록하는 습관을 들이자
[DB] 기본 SQL 쿼리 문법 정리 본문
반응형
1. 기본적인 조회
SELECT 선택할 컬럼1, 선택할 컬럼2, ...
FROM 테이블명
WHERE 조건;
//이 때의 조건은
//EX> WHERE 이름 = '철수'
// WHERE 이름 != '철수'
// WHERE 이름 IS NULL
// WHERE 이름 IS NOT NULL
기억해둘 것! IFNULL 함수
IFNULL(컬럼이름, DEFAULT값) : 해당 컬럼의 값이 NULL이면 DEFAULT값으로 대체해준다 (SELECT 문에 사용)
2. 정렬하는 방법
SELECT 선택할 컬럼1, 선택할 컬럼2, ...
FROM 테이블명
WHERE 조건
ORDER BY 정렬의 기준이 되는 컬럼;
//여러 기준으로 정렬하고 싶을 때 (EX> 이름 순으로 정렬하되 이름이 같은 경우에는 아이디 내림차순)
//ORDER BY NAME, ID DESC
3. 상위 n개 레코드 조회
SELECT 선택할 컬럼1, 선택할 컬럼2, ...
FROM 테이블명
WHERE 조건
ORDER BY 정렬의 기준이 되는 컬럼
LIMIT 2; //상위 2개까지 출력
4. 테이블 튜플 갯수 세기
//전체 튜플 세기
SELECT COUNT(*) AS 개수 // NULL 포함해서 카운트한다
FROM 테이블명;
//중복 제거
SELECT COUNT(DISTINCT 중복제거할컬럼) // NULL 제외하고 카운트한다
FROM 테이블명;
SELECT COUNT(컬럼이름) // NULL 제외하고 카운트한다
FROM 테이블명;
4. GROUP BY
SELECT COUNT(NAME) AS COUNT
FROM 테이블명
GROUP BY NAME
HAVING COUNT(NAME) >= 2;
//이름이 2개 이상인 것들 출력
5. DATETIME 조작
DATETIME 형 변수는 HOUR(DATETIME), MINUTE(DATETIME), SECOND(DATETIME)으로 조작가능하다.
6. 조인
- LEFT JOIN
SELECT A.ID, A.NAME
FROM A
LEFT JOIN B
ON A.ID = B.ID;
7. 문자열 다루기
SELECT *
FROM 테이블명
WHERE NAME LIKE '이%';
//이로 시작하는 이름을 가진 사람 찾기
※ 코딩테스트 전 다시 풀어보면 좋을 문제
https://programmers.co.kr/learn/courses/30/lessons/59412
https://programmers.co.kr/learn/courses/30/lessons/59413
SELECT T1.HOUR, IFNULL(COUNT, 0) AS COUNT
FROM (SELECT 0 AS HOUR
UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11 UNION SELECT 12 UNION SELECT 13 UNION SELECT 14 UNION SELECT 15 UNION SELECT 16 UNION SELECT 17 UNION SELECT 18 UNION SELECT 19 UNION SELECT 20 UNION SELECT 21 UNION SELECT 22 UNION SELECT 23) T1
LEFT JOIN (SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME)) T2
ON T1.HOUR = T2.HOUR;
https://programmers.co.kr/learn/courses/30/lessons/59409
SELECT ANIMAL_ID, NAME, (
CASE
WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O'
WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O'
ELSE 'X' END
) AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
반응형
Comments