데이터베이스 02 _ SELECT절
● DB: 구조화된 데이터의 집합
● DBMS: 데이터베이스관리시스템
● DB의 종류: Oracle, MySQL, MariaDB
1. SQL 의미와 종류(26p.)
-Structured Query Language(구조화된 질의 언어)
-데이터베이스를 위한 표준질의 언어
2. 자료형(39p.)
3. SQL 실행순서
4. 전체 데이터 출력하기(*)
SELECT *(asterisk) FROM 테이블 이름
[실행순서]
1. 테이블에서 데이터가져오기
2. 해당 테이블에서 전체컬럼 출력하기
--전체 컬럼 출력하기
select * from employees;
*sql문장은 대소문자 구별하지 않음
* 문자열은 ' '(작은따옴표)로 작성, 대소문자 구분
*sql문장의 마무리는 ;(세미콜론)으로 끝맺음
5. 원하는 컬럼 출력하기
SELECT 출력하고 싶은 컬럼 FROM 테이블 이름
[실행순서]
1. 테이블에서 데이터가져오기
2. 해당 테이블에서 원하는 컬럼 출력하기
--원하는 컬럼만 출력하기
select employee_id,last_name from employees;
*커서에 있는 문장 실행하므로 커서 확인
*sql문장 오류 발생 시 오타, 세미콜론 입력 확인
[실습1]
직원테이블의 직원ID, 이름, 입사일 출력하기
부서테이블에서 부서 ID, 부서명, 근무지ID 출력하기
--직원테이블의 직원ID, 이름, 입사일 출력하기
select employee_id, last_name, hire_date
from employees;
--부서테이블에서 부서 ID, 부서명, 근무지ID 출력하기
department_id, department_name, location_id
from department_id;
6. 중복제거하기(DISTINCT)
SELECT DISTINCT FROM~
-컬럼이 1개인 경우: 컬럼에서 중복제거 후 출력
--컬럼이 1개인 경우
select distinct department_id from employees;
-컬럼이 여러 개인 경우: DEPARTMENT_ID가 같더라도 JOB_ID가 다르면 중복값이 출력
--컬럼 2개인 경우
select distinct job_id, department_id from employees;
[실습2]
직원테이블에서 입사일 출력 후 행의 개수 확인
직원테이블에서 입사일 중복 제거 출력 후 행의 개수 확인
--직원테이블에서 입사일 출력 후 행의 개수 확인(107행)
select hire_date from employees;
--직원테이블에서 입사일 중복 제거 출력 후 행의 개수 확인(98행)
select distinct hire_date from employees;
7. 별칭 설정하기(AS)
1)SELECT 컬럼 별칭
--select 컬럼 별칭
select employee_id 직원id from employees;
2)SELECT 컬럼 “별칭”
--select 컬럼 "별칭"
select employee_id "직원id" from employees;
3)SELECT 컬럼 AS 별칭
--select 컬럼 AS 별칭
select employee_id AS 직원id from employees;
-현업에서 선호하는 방식. 별칭을 한눈에 파악할 수 있음
-별칭에 “ “를 쓰는 경우 JAVA의 문자열과 겹칠 수 있음>작업효율 떨어짐
-” “를 쓰는 경우: 별칭에 띄어쓰기가 들어가는 등의 특수사항이 있을 때
4)SELECT 컬럼 AS “별칭”
--select 컬럼 AS "별칭"
select employee_id AS "직원id" from employees;
[실습3]
직원테이블에서 입사일, 입사일 다음날을 '입사일', '입사일 다음날'로 별칭 출력하기
--직원 테이블에서 입사일, 입사일 다음날을 '입사일', '입사일 다음날'로 별칭 출력하기
select hire_date 입사일, hire_date+1 입사일다음날 from employees;
select hire_date "입사일", hire_date+1 "입사일 다음날" from employees;
select hire_date AS 입사일, hire_date+1 AS 입사일다음날 from employees;
select hire_date AS "입사일", hire_date+1 AS "입사일 다음날" from employees;
8. Null
-데이터의 값이 완전히 비어있는 상태
-값이 존재하지 않거나 정해지지 않은 것
-NULL이 아닌 경우(NULL !): 0, 공백
-NULL과 연산하면 결과 값은 NULL
[실습4]
--직원테이블에서 직원 ID, 급여, 연봉 출력
--단, 연봉은 AnnSal로 출력
select employee_id, salary, salary*12 AS "AnnSal"
from employees;
*salary가 비어있는 사람은 AnnSal도 null값이 나온다. null에 연산을 하면 결과값은 null이기 때문이다.
'데이터베이스' 카테고리의 다른 글
[DB]6. JOIN (0) | 2023.06.05 |
---|---|
[DB]5. GROP BY&HAVING절 (0) | 2023.06.01 |
[DB]4. Oracle 함수 (0) | 2023.05.31 |
[DB]3. WHERE절 (0) | 2023.05.30 |
[DB]1. 데이터베이스 개요 (0) | 2023.05.28 |