일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 제이쿼리
- HTML
- 오라클클라우드에 젠킨스 설치하기
- 오라클통계
- 자바 왕기초
- 오라클
- CSS
- 자바왕초보
- Spring Boot가 해결하려고 했던 문제
- 자바기초
- 스프링 Ioc
- jsp
- 오라클월별데이터
- 스프링 구글차트로 기간별 현황 조회하기
- 오라클일별데이터
- java
- 자바
- 스프링과 스프링부트 차이점
- maven
- 스프링 구글차트
- 스프링
- 세션
- 스프링 Ioc Container
- 자바 기초
- 스프링 부트가 해결하려고 했던 문제
- 오라클주별데이터
- 스프링 제어역전
- 스프링 에러
- 썸머노트
- 자바왕기초
- Today
- Total
Just Do it
CH4. SELECT문의 기본 형식 본문
*출처: <비전공자도 기초부터 확실하게! 오라클로 배우는 데이터베이스 입문>, 이지훈, 이지스퍼블리싱
4-2. 데이터를 조회하는 3가지 방법 - 셀렉션, 프로젝션, 조인
- 데이터베이스에 보관되어 있는 데이터를 조회하는데 사용하는 SELECT문은 출력 데이터를 선정하는 방식에 따라 크게 세 가지 방식으로 나뉜다.
1) 행 단위로 조회하는 셀렉션
- 셀렉션(selection)은 행 단위로 원하는 데이터를 조회하는 방식이다.
- 테이블 전체 데이터 중 몇몇 가로줄의 데이터만 선택할 때 사용한다.
2) 열 단위로 조회하는 프로젝션
- 프로젝션(projection)은 열 단위로 원하는 데이터를 조회하는 방식이다.
3) 셀렉션과 프로젝션 함께 사용하기
- 특정 테이블에서 조회하려는 행과 열을 모두 선별할 때 셀렉션과 프로젝션을 함께 사용할 수 있다.
4) 두 개 이상의 테이블을 사용하여 조회하는 조인
- 조인(join)은 두개 이상의 테이블을 양 옆에 연결하여 마치 하나의 테이블인 것처럼 데이터를 조회하는 방식이다.
4-3. SQL의 기본 뼈대, SELECT절과 FROM절
//기본 형식
SELECT [조회할 열1 이름], [열2 이름], ...., [열N 이름] // 전체 열을 지정할 때는 *
FROM [조회할 테이블 이름];
-SELECT문은 기본적으로 출력되는 데이터의 정렬 순서를 보장하지 않는다. 하지만 ORDER BY 절을 사용하여 출력 순서를 설정할 수 있다.
4-4. 중복 데이터를 삭제하는 DISTINCT
- SELECT문으로 데이터를 조회한 후 DISTINCT를 사용하여 중복을 제거한다. DISTINCT는 SELECT절에 열 이름을 명시하기 전에 선택적으로 사용할 수 있다.
1) DISTINCT로 열 중복 제거하기(열이 한 개인 경우)
SELECT DISTINCT DEPTNO FROM EMP;
// DEPTNO 열에서 중복 행은 한 개만 남겨 두고 그 밖의 행은 모두 제거한다.
2) DISTINCT로 열 중복 제거하기(열이 여러 개인 경우)
SELECT DISTINCT JOB, DEPTNO FROM EMP;
//JOB열과 DEPTNO열의 값이 공통으로 중복되는 행을 한 개만 남겨두고 그 밖의 행은 모두 제거
3) ALL로 중복되는 열 제거 없이 그대로 출력하기
- ALL 은 DISTINCT와 반대로 데이터 중복을 제거하지 않고 그대로 출력한다.
- SELECT절에서 중복 설정이 없을 경우에 ALL을 기본으로 사용한다.
4-5. 한눈에 보기 좋게 별칭 설정하기
- SQL 문에서는 최종 출력되는 열의 이름을 임의로 지정할 수도 있다. 이렇게 본래 열 이름대신 붙이는 이름을 별칭(alias)이라고 한다.
1) 열과 연산식
- 연산식을 새로운 열의 이름으로 주어 연산의 결과를 새로운 열에 넣어 가져올 수도 있다.
SELECT ENAME, SAL, SAL*12+COMM, COMM FROM EMP;
// SAL*12+COMM: 연산식
2) 별칭을 지정하는 방식
- 긴 열 이름을 짧고 간단한 다른 이름으로 알기 쉽게 출력할 때 별칭을 사용한다.
- 단순히 긴 열 이름의 불편함 외에도 보안이나 데이터 노출 문제 때문에 별칭을 사용해야 할 때도 더러 있다.
- 위에서 실습한 SAL*12+COMM 열의 별칭을 annual salary의 약어인 ANNSAL로 하여 별칭을 지정하는 4가지 방식은 아래와 같다.
* 실무에서는 굵게 표시한 세번째 형식을 제일 많이 사용한다.
사용 방법 | 설명 |
SAL*12+COMM ANNSAL | 연산 및 가공된 문장 이후 한 칸 띄우고 별칭 지정 |
SAL*12+COMM "ANNSAL" | 연산 및 가공된 문장 이후 한 칸 띄우고 별칭을 큰따옴표(" ")로 묶어 지정 |
SAL*12+COMM AS ANNSAL | 연산 및 가공된 문장 이후 한 칸 띄우고 'AS', 한 칸 뒤에 별칭 지정 |
SAL*12+COMM AS "ANNSAL" | 연산 및 가공된 문장 이후 한 칸 띄우고 'AS', 한 칸 뒤에 별칭을 큰따옴표(" ")로 묶어 지정 |
예)
SELECT ENAME, SAL, SAL*12+COMM AS ANNSAL, COMM FROM EMP;
4-6. 원하는 순서로 출력 데이터를 정렬하는 ORDER BY
- 기준에 맞춰 데이터를 정렬해서 출력해야 할 때 ORDER BY절을 사용한다.
- ORDER BY절은 SELECT문을 작성할 때 사용할 수 있는 여러 절 중 가장 마지막 부분에 쓴다.
- ORDER BY절을 사용할 때 주의사항:
* 데이터를 정렬하는데는 시간이 많이 소요되므로 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋다.
//기본 형식
SELECT [조회할 열1 이름], [열2 이름], ...., [열N 이름] // 전체 열을 지정할 때는 *
FROM [조회할 테이블 이름];
.
. (그 밖의 절)
.
ORDER BY [정렬하려는 열의 이름(여러 열 지정 가능)] [정렬 옵션];
키워드 | 필수 요소 | 선택 요소 | 설명 |
ORDER BY | 정렬하려는 열 이름을 하나 이상 지정 | 정렬하는 열마다 오름차순(ASC),내림차순(DESC) 지정 | ORDER BY절에서 지정한 열은 먼저 지정한 열을 우선으로 정렬한다. 만약 정렬 옵션을 지정하지 않을 경우 기본값으로 오름차순(ASC)이 설정된다. |
1) 오름차순 사용하기
SELECT * FROM EMP ORDER BY SAL; // 정렬옵션을 별도로 지정하지 않으면 기본값으로 오름차순(ASC)이 설정됨
2) 내림차순 사용하기
SELECT * FROM EMP ORDER BY SAL DESC;
3) 각각의 열에 내림차순과 오름차순 동시에 사용하기
SELECT * FROM EMP ORDER BY DEPTNO ASC, SAL DESC;
//부서 번호를 오름차순으로 정렬, 부서 번호가 같을 경우 급여를 기준으로 내림차순
'신입 개발자가 되기 위해 공부했던 독학 자료들 > Oracle' 카테고리의 다른 글
CH 6. 데이터 처리와 가공을 위한 오라클 함수 (0) | 2022.02.26 |
---|---|
Oracle DB 테이블에서 컬럼의 고유키(PK, primary key) 찾는 방법 (0) | 2022.02.18 |
CH5. 더 정확하고 다양하게 결과를 출력하는 WHERE절과 연산자 (0) | 2022.02.18 |
오라클과 JDBC 연결하기 (0) | 2022.02.15 |
오라클 기본 문법 (0) | 2022.02.14 |