👨🏻💻 기본 활용법
기본적으로 우리는 DB를 조회할 때 SELECT 문을 사용합니다.
오라클 SQL 에서의 SELECT문 형식은 다음과 같습니다.
HR 연습용 계정에는 기본적으로 제공되는 테이블 데이터들이 몇가지 존재합니다.
이 중에서 PIZZA 와 PIZZA2 는 제가 개인적으로 공부하면서 생성한 테이블이고,
그 외 나머지는 전부 오라클에서 HR계정에 제공되어 생성되는 것입니다.
그 중 흔히 사용하는 EMPLOYEES 테이블을 조회해보겠습니다.
SELECT * FROM EMPLOYEES;
이거를 작성하고, 조회하는 방법은 Ctrl + Enter 키입니다. 동시에 눌러주시면 됩니다.
눌러 주면... 저는 쓰던 파일에다가 다시 들어가서 쓴거여서 이런 접속 선택 버튼이 있는데
이런거 뜨시는 분들이 있을 것입니다.
이런 접속 선택을 선택하실 때 HR 계정에 존재하는 EMPLOYEES 테이블을 사용할 것이기 때문에
이것을 확인을 해주시면 됩니다.
테이블 데이터들이 이런식으로 조회가 가능한 모습입니다.
SQL 에서의 SELECT 문은 이런식으로 기본적으로 조회가 가능합니다.
그 외에는 다 비슷하기 때문에 SELECT 에 대해 정리하고,
SELECT 를 할 때 같이 조회 할 수 있는 것들을 확인해보겠습니다.
👨🏻💻 SELECT문 특징 정리
- 원하는 테이블의 원하는 컬럼을 조회할 수 있는 쿼리문
- 컬럼명 자리에 *를 쓰는 것은 모든 칼럼을 의미한다
- 여러 컬럼을 조회하고 싶을 때는 ,를 사용한다
- 컬럼명과 테이블명은 대소문자를 구분하지 않는다
- 쿼리문도 대소문자를 구분하지 않는다
- 하지만 데이터는 대소문자를 구분한다
- 원하는 테이블의 원하는 컬럼을 조회할 수 있는 쿼리문
- 여러 컬럼을 조회하고 싶을 때는 ,를 사용한다
원하는 테이블에서 특정 컬럼들을 조회할 수 있습니다.
- 컬럼명 자리에 *를 쓰는 것은 모든 칼럼을 의미한다
employees 테이블의 모든 컬럼 조회
- 컬럼명과 테이블명은 대소문자를 구분하지 않는다
- 쿼리문도 대소문자를 구분하지 않는다
- 하지만 데이터는 대소문자를 구분한다.
👨🏻💻 DESC / VARCHAR2 / CHAR / NUMBER / DATE (테이블의 type 정리)
DESC 테이블명을 조회하면 해당 테이블의 컬럼 정보 결과값들을 조회할 수 있습니다.
오라클 명령어라 세미콜론이 별도로 필요하지 않습니다. 헷갈리면 걍 달아주셔도 무관합니다.
컬럼마다 타입(유형)들이 정해져있는데, 이 타입들은 sql 에서 어떻게 관리가 되는지 알아보겠습니다.
타입 | 설명 |
NUMBER(n), NUMBER(n,m) | - 숫자 데이터를 저장할 수 있는 컬럼 타입 - 숫자가 하나만 적혀있다면 정수의 길이를 나타냄 - 숫자가 두 개 적혀있다면 숫자의 길이와 소숫점 자릿수를 나타냄 ex > NUMBER(8) -> 정수 8자리까지 저장할 수 있는 칼럼 NUMBER(8,2) -> 정수 8자리와 소수 2자리를 저장할 수 있는 칼럼 |
VARCHAR2(n) | - 가변 길이 문자 데이터를 저장할 수 있는 컬럼 타입 - 저장되는 데이터의 크기에 맞춰 알맞은 공간을 사용함 |
CHAR(n) | - 고정 길이 문자 데이터를 저장할 수 있는 컬럼 타입 ex> 국가 코드 KR, EN, CN, JP... 무조건 2자리인 국가 코드 - 설정한 칼럼 크기보다 적은 양의 데이터가 들어오더라도 설정된 크기를 모두 차지함 - 해당 컬럼의 성격에 따라 데이터 공간 낭비가 심해질 수 있음 |
DATE | - 날짜 및 시간 데이터를 저장할 수 있는 컬럼 타입 |
👨🏻💻 AS / " " 사용으로 컬럼명을 지정하기
AS 를 사용함으로써 컬럼명을 지정할 수 있습니다.
또한 " " 을 사용함으로써 AS 를 완벽하게 대체할 수 있습니다.
👨🏻💻 조회 산술 연산자 사용 / 산술 연산자의 null 값 계산 (nvl 함수 사용)
조회문에서 산술 연산자 +, -, *, / 등의 산술연산자를 사용할 수 있습니다.
employees 테이블에는 commission_pct 가 null 인 값들이 많이 있는데,
salary 와 commission_pct 를 곱해서 null 과 연산을 한 결과를 보겠습니다.
정상적인 값과 null 을 연산하면 그 결과로 null 값이 나오는 것을 알 수 있습니다.
다만 null 값을 nvl 이라는 함수를 통해 연산 결과가 null 이 되는 값을 다른 값으로 대체할 수 있습니다.
nvl(컬럼, 대체할 값)
👨🏻💻 distinct 를 통해 중복된 데이터는 한 번만 출력하기
employee 에서는 job_id 가 중복되는 값들이 많았는데요,
중복된 값들을 한 번씩만 조회하고 싶을 땐 distinct 를 붙여서 조회할 수 있습니다.
'Java (국비지원 당시 공부했던 글) > SQL - Oracle' 카테고리의 다른 글
[SQL - Oracle] 3. WHERE 조건문 정리(비교 연산자/NULL값 비교 조건 조회/LIKE/와일드카드/LOWER,UPPER) (0) | 2022.08.22 |
---|---|
[SQL - Oracle] 1. 데이터베이스란 (0) | 2022.05.30 |
[SQL - Oracle] Oracle 11g, sql Developer 설치, CLI, GUI 확인, sys(관리자) 계정 접속, HR(연습용)계정 접속 (0) | 2022.05.27 |