◆ ORDER BY 구문
- SELECT 문을 사용할 때 출력되는 결과물의 정렬이 필요할 때 사용
- 오름차순 : ASC / 내림차순 : DESC ( 기본값은 오름차순, ASC는 생략가능)
○ 사용 방법
- 기본 형태
SELECT * FROM [테이블명] ORDER BY [컬럼명] (ASC/DESC);
![](https://blog.kakaocdn.net/dn/ci69kD/btsxsQxDPKD/pRQ4K2vVnGJ5SmoBxlTKok/img.png)
- 컬럼 합산 사용
SELECT 컬럼1 + 컬럼2 AS [사용할 컬럼명] FROM [테이블명] ORDER BY [사용할 컬럼명] (ASC/DESC);
![](https://blog.kakaocdn.net/dn/Ga9V6/btsxrWLCo2J/mynVmtPFIqEwF2QgvLigS0/img.png)
- 컬럼의 숫자를 사용(숫자 번째 컬럼)
SELECT * FROM [테이블명] ORDER BY [숫자] (ASC/DESC);
![](https://blog.kakaocdn.net/dn/d9B0lJ/btsxrVMKlj7/3HNl9P73HE4rOKBpm7nR80/img.png)
- 여러 컬럼을 사용
SELECT * FROM [테이블명] ORDER BY [숫자1] (ASC/DESC), [숫자2] (ASC/DESC);
-> [숫자1]번째 컬럼을 기준으로 (오름차순/내림차순) 정렬한 상태에서 [숫자2]번째 열을 기준으로
(오름차순/내림차순) 정렬
* 숫자말고 컬럼명도 가능
![](https://blog.kakaocdn.net/dn/euNhUb/btsxLjMn1wT/54VdAdOSpHoVXPrNKbqt4K/img.png)
![](https://blog.kakaocdn.net/dn/eDig9N/btsxSzuDSfk/MSqhZxC0lDaiTWW3Nru5xK/img.png)
# 실습
![](https://blog.kakaocdn.net/dn/c1C2ph/btsxtXXA5iN/xRmsc5sCv9AKRnWdQJpEgk/img.png)
![](https://blog.kakaocdn.net/dn/bMyOc6/btsxp8Tsmtq/ChKdZRk99SxCdaInIXJFkK/img.png)
![](https://blog.kakaocdn.net/dn/y0Tgr/btsxH0e5AdQ/U1YrRxrGuZNOetKqV3itmk/img.png)
![](https://blog.kakaocdn.net/dn/cW9sUo/btsxtmQGLrX/70DTvAyoIEldNFI6kYI3ok/img.png)
![](https://blog.kakaocdn.net/dn/ceMDGv/btsxLkYOXFB/p9KfXbDEHxlT1KE8txL6T0/img.png)
![](https://blog.kakaocdn.net/dn/DHv97/btsxsnvxpgn/dtwaZ7uDcIHRN3DnumPp71/img.png)
◆ LIMIT 구문
- SELECT 구문의 결과 레코드 수를 지정
- SELECT * FROM [테이블명] LIMIT [제한할 숫자];
- SELECT * FROM [테이블명] LIMIT [시작할 인덱스 숫자], [출력할 레코드개수]
( ※ 인덱스 숫자는 0부터 시작)
![](https://blog.kakaocdn.net/dn/bO0L0h/btsxrWETmhw/K38YkCy0PvzphVNRrk5mU0/img.png)
![](https://blog.kakaocdn.net/dn/T9Ssq/btsxqAhRzDr/iSoitspig82E8YTUFVeQyk/img.png)
![](https://blog.kakaocdn.net/dn/c7Focm/btsxH1SBOTQ/b6ZeR0uGrmOVleKzFQjV6k/img.png)
![](https://blog.kakaocdn.net/dn/ONvGe/btsxkgqVTio/wtOJDE8RkJQjRc9rueuqr1/img.png)
◆ DISTINCT 구문
- 결과 값들 중 중복이 있을 시 제거
- SELECT DISTINCT * FROM [테이블명];
![](https://blog.kakaocdn.net/dn/n4B5a/btsxp171bF0/paKudowreOu12PT4uCNn70/img.png)
![](https://blog.kakaocdn.net/dn/dwi4sR/btsxz1eiC2E/N68yaELBPWf281x7aEKiT0/img.png)
![](https://blog.kakaocdn.net/dn/9IN4u/btsxLjew9ur/5JkM3kk3oXKdMfFJ6iZEnK/img.png)
◆ GROUP BY 구문
- 특정 컬럼을 기준으로 집계 함수를 사용하여 건수(COUNT), 합계(SUM), 평균(AVG) 등 집계성 데이터를
추출할 때 사용
- 컬럼을 여러개 지정 가능
- WHERE 구문처럼 HAVING 구문으로 조건 설정
※ WHERE은 기존 속성에 조건걸기( 그룹화 되기 전 컬럼에 조건걸기 )
HAVING은 기준이 된 컬럼 혹은 집계함수로 생성된 컬럼에 조건걸기 ( 그룹화 된 후 컬럼에 조건걸기 )
- SELECT 집계함수(계산할 컬럼) FROM [테이블명], WHERE 조건 GROUP BY [집계함수가 사용된 컬럼명];
- SELECT 집계함수(계산할 컬럼) FROM [테이블명], WHERE 조건
GROUP BY [집계함수가 사용된 컬럼명] HAVING 조건;
![](https://blog.kakaocdn.net/dn/KQg58/btsxp5bzqrR/xVV8SL7JMLJ4km1Lh3sWlK/img.png)
![](https://blog.kakaocdn.net/dn/bOFBkf/btsxkC8mt33/pJkJpc5FR0dfy78ShSxWLK/img.png)
![](https://blog.kakaocdn.net/dn/cXDeUW/btsxkEryn4f/2bUPCIKrJMWdUFp8GxZGI1/img.png)
![](https://blog.kakaocdn.net/dn/bjRqNj/btsxtnovL5Q/AmPs6THusKpCUB8I2QAK90/img.png)
![](https://blog.kakaocdn.net/dn/tE3Lw/btsxrlLvJL0/ubV2ym6aafpcDhTGjHk1kk/img.png)
![](https://blog.kakaocdn.net/dn/coEcvy/btsxtT1ZnBi/SppWi9qdxr5IBiDHyCZUY1/img.png)
◆ 서브 쿼리
- 하나의 SQL 문에 포함되어 있는 또 다른 SQL 문
- 괄호로 감싸서 사용
- 분류
● 단일행 서브 쿼리
- 서브 쿼리의 결과가 하나일 때
- >, =, < 등 사용
![](https://blog.kakaocdn.net/dn/0I2KA/btsxqwzJ1sG/8lCFVLyWh9AC4GLKtQaeh0/img.png)
![](https://blog.kakaocdn.net/dn/qS7SI/btsxsmXJulc/LIkduP6S7zQIqhTABDtn50/img.png)
![](https://blog.kakaocdn.net/dn/EjzXn/btsxh96vl87/crOEEHaFH5GNMDcOIKRKB1/img.png)
![](https://blog.kakaocdn.net/dn/cDF5OC/btsxvGH6jNC/VZF48OcBSoRIsP9kAZ5b8K/img.png)
● 다중행 서브 쿼리
- 서브 쿼리의 결과가 두 개 이상일 때
- IN, ANY, ALL, SOME, EXISTS 등 사용
![](https://blog.kakaocdn.net/dn/qp5dH/btsxLkYOXFt/Ts6OYXbt8zzMbJflRJfsJ0/img.png)
![](https://blog.kakaocdn.net/dn/bANfb3/btsxSzVH529/kvkaBIlmY13YdlV59K3ctK/img.png)
◆ 다중 조건문
- if 조건을 여러개 사용 (참 또는 거짓 결과란에 IF 추가)
- SELECT IF(조건, 참, IF(조건, 참, 거짓)) FROM [테이블명];
![](https://blog.kakaocdn.net/dn/doHyAI/btsxqyK8Pkl/JtCKZPET2H7m1VkPuSlj7k/img.png)
![](https://blog.kakaocdn.net/dn/WVKHD/btsxp3Lzr2d/GOKTkkki2ovZqfk0R1jahk/img.png)
'DBMS(SQL)' 카테고리의 다른 글
데이터베이스 설계 과정(9일차) (0) | 2023.10.09 |
---|---|
SQL 조인 연산, 집합 (8일차) (0) | 2023.10.09 |
함수적 종속성 & 정규화 (6일차) (0) | 2023.10.09 |
트랜잭션(Transaction) (6일차) (0) | 2023.10.09 |
DBMS 실습 - SQL 함수 [자주쓰는 함수] - 2 (5, 6일차) (0) | 2023.10.09 |