9-10
- 82p is.null
-88p 우리는 열을 넣을 것
- 단일 행 함수에 where절 사용 가능 이라고 필기하기
10-11
[4장]
[예제 4-1]
SELECT last_name,
LOWER(last_name) LOWER적용,
UPPER(last_name) UPPER적용,
email,
INITCAP(email) INITCAP적용
FROM employees;
---------------------------------------------------
[예제 4-2]
SELECT job_id, SUBSTR(job_id, 1, 2) 적용결과 /*첫번째부터 두개 추출*/
FROM employees;
---------------------------------------------------
[예제 4-3]
SELECT job_id, REPLACE(job_id, 'ACCOUNT', 'ACCNT') 적용결과 /*앞에꺼를 뒤에꺼로 변경*/
FROM employees;
11-12
[예제 4-5]
/*96p - 97p*/
SELECT job_id,
LTRIM(job_id, 'F') LTRIM적용결과,
RTRIM(job_id, 'T') RTRIM적용결과
FROM employees;
---------------------------------------------------
SELECT 'start'||TRIM(' - space - ')||'end' 제거된_공백
FROM dual;
---------------------------------------------------
4.2.2
[예제 4-6]
SELECT salary,
salary/30 일급,
ROUND(salary/30,0) 적용결과0, /*정수로*/
ROUND(salary/30,1) 적용결과1, /*소수점 하나까지*/
ROUND(salary/30,-1) 적용결과MINUS1 /*십의자리까지*/
FROM employees;
---------------------------------------------------
[예제 4-7] 101p
SELECT salary,
salary/30 일급,
TRUNC(salary/30,0) 적용결과0,
TRUNC(salary/30,1) 적용결과1,
TRUNC(salary/30,-1) 적용결과MINUS1
FROM employees;
---------------------------------------------------
floor ( 무조건 정수로 내림 )
ceil ( 무조건 정수로 올림 )
----------------------------------------------------
날짜타입함수 : DB 마다 다르다.
-----------------------------------------------------
select first_name, salary
,
(case
when (salary >= 9000) then 'HIGH'
when (salary >= 6000) then 'MIDLE'
else 'low'
end) as abc
from employees;
---------------------------------------------------------------
SELECT first_name,
last_name,
department_id, /* DECODE
salary 원래급여,
DECODE(department_id, 60, salary*1.1, salary) 조정된급여,
DECODE(department_id, 60, '10%인상', '미인상') 인상여부
FROM employees;
------------------------------------------------------------------------
-count 함수 126p
SELECT COUNT(salary) salary행수 /*전체 행 수 */
FROM employees;
SELECT COUNT(COMMISSION_PCT), COUNT(*) salary행수 ----셀 때 NULL값 제외
FROM employees;
------------------------------------------------------------------------
-SUM, AVG함수 127p
SELECT SUM(salary) 합계, AVG(salary) 평균, SUM(salary)/COUNT(salary) 계산된평균
FROM employees;
-------------------------------------------------------------------------------------------------
-group by문 128p
select to_char(hire_date,'YYYY')
, round(avg(salary)) from employees
group by to_char(hire_date,'YYYY');
select employee_id, sum(salary) from employees
group by employee_id; /* 동일한 데이터가 없어서 효과x */
-------------------------------------------------------------------------------------------------
select job_id, manager_id, sum(salary)
from employees
group by job_id, manager_id;
having sum(salary)>3000 /*where 뒤에는 함수가 못와. 그래서 having 씀 */
/* 될 수 있으면 그룹바이 밑에 쓰기 */
-------------------------------------------------------------------------------------------------
5-6
5장
136p
기본키 ( primary key ) -> 완전하게 중복되는 열 삭제
기본키 없으면 select insert update delete 불가능
외래키 (foreign key) -> join을 하기 위해서는 접점이 필요함. 그 접점을 만들어 놓은게 외래키 !!!
-데이트 베이스 설계도 : ERD 꼭꼭기억하기
-ERD 만드는 법 : 138P ~
내일은 조인 할 것 !
6:30 - 8:00 아삶공 유니브
8:00- 정처기공부하기
'인공지능 > SQL' 카테고리의 다른 글
오라클 (0) | 2021.07.07 |
---|---|
5.12 인공지능 SQL ( 1 ) (0) | 2021.06.05 |
5.14 SQL ( 3 ) (0) | 2021.06.05 |