[SQL] 오라클 데이터베이스 공부 기록(1)-SELECT, FROM, ORDER BY절
my code archive
article thumbnail
반응형

 

 

데이터와 정보

데이터 : 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체.

정보 : 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어 낼 수 있는 결과.

-> 잘 수집된 데이터를 가공하고 분석하면 새로운 가치를 만들어 낼 수 있는 정보를 얻을 수 있다!

관계형 데이터 베이스의 구성 요소

*테이블 : 표 형태의 데이터 저장 공간

*행 : 가로줄 (데이터 뭉덩이, 로)

*열 : 세로줄 (구성하는 데이터 특징, 칼럼)

열, 키

키(key) : 하나의 테이블을 구성하는 여러 열 중에 특별한 의미를 지닌 하나 또는 여러 열의 조합.

-기본키 : 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키

ex)주민등록번호 같은 것.(사람마다 다르기 때문에 중복될 수가 없다.)

하지만 실무에서는 개인정보라 사용하지 않는다.

-외래키 : 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키.

*사원 정보가 들어 있는 EMP 테이블

EMPNO : 사원 번호

ENAME : 사원 이름

JOB : 사원 직책

MGR : 직속 상관의 사원 번호

HIREDATE : 입사일

SAL : 급여

COMM : 급여 외 추가 수당

DEPTNO : 사원이 속한 부서 번호

데이터를 조회하는 3가지 방법

1. 셀렉션

테이블 데이터에서 몇몇 가로줄의 데이터만 선택할 때 사용한다. (행 단위)

 

2. 프로젝션

테이블 데이터에서 열단위로 데이터를 조회하는 방식이다.

 

3. 조인

두 개 이상의 테이블을 연결하여 마치 하나의 테이블인 것처럼 데이터를 조회하는 방식 (가로로 연결!!)

SELECT , FROM 절

*로 전체 열 출력하기

학원에서는 sqldeveloper를 사용하고 있다.

 

이렇게 워크 시트에 적고 블록처리 한 다음에 ctrl+엔터를 누르면 된다!

 

*테이블 부분 열 출력하기

 

SELECT 를 맨 앞에 적고 원하는 컬럼을 적고 맨 뒤에 FROM EMP;를 적으면 된다.

기억할 점은?

자바에서는 대문자,소문자를 구분해야 하지만

SQL에선 대문자, 소문자가 상관 없다고 한다.

하지만!!! 데이터 그 자체는 대문자를 꼭 구분해야 한다.

표에 컬럼이 대문자로 나와있기 때문에

select enpno, ename, deptno를 쓰면 에러가 나고

select ENPNO, ENAME, DEPTNO라고 꼭 대문자를 지켜줘야 한다.

중복 데이터를 삭제하는 DISTINCT

'DISTINCT' 를 적으면 중복된 데이터를 삭제하고 출력할 수 있다.

 

*열이 한 개인 경우

 

 

*열이 여러 개인 경우

위 예시를 설명하면

JOB의 중복만 제거하는 게 아니라

JOB, DEPTNO 모두 중복되는 데이터를 제거하는 것이다.

 

->DISTINCT 키워드는 하나의 컬럼이 아니라 SELECT절에 명시된 모든 컬럼의 데이터 중복을 제거하는 역할을 한다.

별칭 설정하기

 

'AS ANNSAL'키워드를 붙이면 별칭을 지정해서 출력할 수 있다.

SAL*12+COMM = (급여*12)+인센티브니까 즉 연봉을 의미한다.

 

사용하는 방법은

SAL*12+COMM ANNSAL

SAL*12+COMM"ANNSAL"

SAL*12+COMM AS ANNSAL

SAL*12+COMM AS "ANNSAL"

네 가지가 있지만

학원 강사님께서 세 번째 방법을 추천해 주셨다.

ORDER BY

ORDER BY절은 데이터를 조회할 때

오름차순 / 내림차순으로 조회할 수 있는 방식이다.

->쇼핑몰에서 제품을 조회할 때

가격 높은 순, 가격 낮은 순 등으로 조회할 수 있는 방식이 바로 ORDER BY!

-ASC : 오름차순

-DESC : 내림차순

인데 정렬 옵션을 지정하지 않을 경우 기본값으로 오름차순이 설정된다.

 

 

이렇게 오름차순, 내림차순을 동시에 같이 사용할 수도 있다.

 

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형