/*
# SELECT 컬럼명 FROM 테이블명;
- 데이터를 조회하는
- 컬럼명에 *를 쓰는 것은 모든 컬럼을 뜻한다
- 쿼리문은 대소문자를 구분하지 않는다
- 컬럼명/테이블명은 대소문자를 구분하지 않는다
- 테이블에 저장되는 데이터는 대소문자를 구분한다(ex: 사원명 등...)
*/
SELECT * FROM tabs; -- 사용할 수 있는 모든 테이블들을 불러와준다
SELECT * FROM employees; -- 직원들의 정보를 저장한 테이블
SELECT * FROM departments; -- 부서들의 정보를 저장한 테이블
SELECT * FROM jobs; -- 직급에 대한 정보를 저장한 테이블
SELECT * FROM locations; -- 지역에 대한 정보를 저장한 테이블
(컬럼명에 * 을 찍어줄 경우에 사용할 수 있는 모든 컬럼들을 불러온다)
SELECT employee_id, Email FROM employees;
(employees 테이블의 employee_id와 email만을 불러온다)
-- 테이블 컬럼 정보 확인하기
DESC employees;
DESC locations;
DESC jobs;
(테이블의 사용할 수 있는 모든 컬럼 정보들을 확인할 수 있다)
/*
# NUMBER(n), NUMBER(m,n)
- 숫자 데이터만 저장할 수 있는 컬럼 타입
- 숫자가 하나만 적혀있으면 정수를 저장할 수 있고
두개 적혀있으면 소수점까지 저장할 수 있다
- NUMBER(10) : 10자리 정수를 저장할 수 있는 컬럼
- NUMBER(10,2) : 8자리 정수와 2자리 소수를 저장할 수 있는 컬럼 10자리중 2개는 소수다
# VARCHAR2(n)
- 가변 길이 문자 데이터를 저장하는 컬럼 타입
- 저장되는 데이터의 크기에 맞춰서 알맞은 공간만 사용하는 파일이다
- VARCHAR2(10) 크기로 설정된 컬럼에 2글자만 들어온다면 2글자 만큼의 공간만 차지한다 최대10자리로 설정해둠
- 가변적인 데이터를 저장할 때는 용량을 많이 절약할 수 있다(그러나 계속 길이를 계산해야한다)
# CHAR(n)
- 고정 길이 문자 데이터를 저장하는 컬럼 타입
- 설정된 길이보다 적은 양의 데이터가 들어오더라도 설정된만큼의 공간을 모두 차지한다
- CHAR(10) 크기로 설정된 컬럼에 2글자만 들어온다면 10글자 만큼의 공간을 모두 차지한다
- 데이터가 낭비될 수는 있지만 크기 계산을 아예 하지 않는다는 장점이 있다(주민번호 같은거에 좋다 변하지않는 길이)
# DATE
- 날짜 및 시간을 저장하는 컬럼 타입
*/
컬럼명 뒤에 as 를 붙이고 별칭을 붙여줄수 있다.
SELECT
employee_id as 사번,
last_name as 성,
first_name as 이름,
department_id as 부서번호,
salary as 급여
FROM
employees;
-- 쿼리문에서 산술 연산자 이용하기
SELECT last_name, salary FROM employees;
SELECT last_name, salary+500 FROM employees;
SELECT last_name, salary*2 FROM employees;
SELECT last_name, salary*0.8 as 깎인월급 FROM employees; -- 별칭에 띄어쓰기하고 싶을때는 ""에 가두자
SELECT last_name, salary*0.8 as "깎인 월급" FROM employees;
SELECT * FROM employees;
SELECT last_name, salary, commission_pct FROM employees;
-- NULL값을 연산하게 되면 무조건 NULL이 나온다
-- NVL(컬럼명,대체값): 해당 컬럼에서 NULL값이 나왔을 때 NULL대신 사용할 값을 설정한다
SELECT
last_name,
salary,
salary *(1+ NVL(commission_pct,0)) as "커미션 적용"
FROM
employees;
-- 연습2 : 모든 사원들의 사번/이메일/연봉/커미션 적용된 연봉을 출력해보세요.
-- (salary는 월급입니다. 계산된 컬럼에는 별칭을 사용 반드시 사용할것)
SELECT
department_id,
email,
salary *12 as "연봉",
(salary *12) * (1+ NVL(commission_pct,0)) as "커미션 연봉"
FROM
employees;
-- SELECT DISTINCT: 같은 값이 한번만 출력된다 // 중복제거
SELECT DISTINCT job_id FROM employees;
SELECT DISTINCT department_id FROM employees;
SELECT DISTINCT last_name FROM employees;
SELECT DISTINCT job_id FROM employees;
의 모습이다 중복되는 job_id 가 없는걸 확인할 수 있다.
'공부 > Database 복습' 카테고리의 다른 글
6.Database 조인 (0) | 2021.08.01 |
---|---|
5.Database 정렬 (0) | 2021.07.26 |
4.Database 그룹 함수 (0) | 2021.07.19 |
3.Database 함수 (0) | 2021.07.19 |
2.Database WHERE (0) | 2021.07.18 |