일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- DB 제약조건
- java접근제어자
- oracle developer
- sql
- DAO
- O(n)
- JavaSwing
- break
- 자바
- Oracle SQL Developer
- 빅오표기법
- DTO
- 오라클
- Vo
- 접근제한자
- o(log n)
- C#접근제어자
- mvc디자인패턴
- C언어 표준 라이브러리
- DB
- 데이터베이스
- 메이븐업데이트
- oracle db
- C#접근제한자
- java
- 자바연산자
- DATABASE
- DEFAULT
- JSP
- Oracle
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
DATABASE / 데이터베이스 / 정렬(ORDER BY - ) 본문
--1028 수업내용
# ORDER BY 컬럼명 [ASC|DESC]
- 조회 시 원하는 칼럼 기준으로 정렬하여 조회하는 문법
- ASC : 오름차순 (Ascending)
- DESC : 내림차순 (Descending)
- ASC, DESC 입력하지 않으면 기본적으로 ASC로 정렬한다. (ASC 생략가능)
- 정렬 기준을 여러 개 수 있다.
# 소수점 자릿수 정리 함수
- ceil(value) : 정수로 올림
- floor(value) : 정수로 내림
- rount(value, num) : 소수점 반올림하기
- trunc(value, num) : 소수점 내림(소수점 자르기)
# upper(column) : 값을 모두 대문자로 변경하는 함수
# lower(column) : 값을 모두 소문자로 변경하는 함수
SELECT * FROM employees ORDER BY first_name;
SELECT * FROM employees ORDER BY phone_number DESC;
SELECT first_name, job_id, commission_pct FROM employees;
-- null이 있는 칼럼을 기준으로 정렬을 하게 되면? -->> 오름차순시 null은 가장 나중에 등장
SELECT first_name, job_id, commission_pct FROM employees ORDER BY commission_pct ASC;
-- 내림차순시 null은 가장 먼저 등장
SELECT first_name, job_id, commission_pct FROM employees
ORDER BY commission_pct DESC;
-- 정렬 여러 개 하기
-- 부서번호로 로 오름차순 정렬, 부서번호가 같으면 성 기준으로 오름차순 후 이름기준 오름차순,
SELECT * FROM employees
ORDER BY department_id ASC, last_name ASC, first_name ASC;
SELECT * FROM employees
ORDER BY department_id (ASC생략가능) , last_name (ASC생략가능) , salary DESC;
-- 연습 1 > 이름에 i가 포함되어 있는 사원들을 월급 많이 받는 순으로 조회 (내림차순)
SELECT * From employees
WHERE first_name LIKE '%i%' OR first_name LIKE '%I%' ORDER BY salary DESC;
SELECT * FROM employees WHERE lower(first_name) LIKE '%i%'
ORDER BY salary DESC;
-- 연습 2> 모든 사원들을 성 기준 오름차순, 성이 같으면 이름기준 오름차순
SELECT * FROM employees ORDER BY last_name, first_name;
-- 연습 3> 각 부서의 평균월급, 사원 수를 조회하고 평균 월급으로 내림차순 정렬
SELECT department_id, avg(salary), count(*)AS "employee count"
FROM employees GROUP BY department_id ORDER BY avg(salary) DESC;
두 개 같은 결과
==>
-- 연습 3> 각 부서의 평균월급, 사원 수를 조회하고 평균 월급으로 내림차순 정렬
SELECT department_id AS "부서번호",
round(avg(salary),3) AS "평균 월급",
count(*) AS "사원 수"
FROM employees GROUP BY department_id ORDER BY "사원 수" DESC;
'백엔드개발 > DATABASE' 카테고리의 다른 글
Oracle Database / SELF JOIN (0) | 2023.11.03 |
---|---|
Oracle/SQL - DB /DATABASE / JOIN (0) | 2023.10.31 |
그룹 함수 (sum, avg, count, max, min) & having (0) | 2023.10.31 |
DECODE, CASE (0) | 2023.10.31 |
데이터베이스 / DB 집합 / 교집합, 차집합, 합집합 (0) | 2023.10.31 |