run sql command line
DBA권한
시스템사용하게 설정
hr : pw 조절
table
행과 열로 구성되어있는 데이터로 저장하는 것
oracle은 관계형 데이터베이스 & 테이블로 저장
각 열의 이름 == column
콜론이 행단위로 저장됨 / 행 == row == record
desc
디스파이브(?)
테이블 구조를 확인 할 수 있는 명령어
column 칼럼이름
칼럼이름의 출력값의 포맷팅을 바꿔서 출력할 수 있는 것
세미콜론
sql 문장 종료 종결자
/
실행 명령어
대문자ㅡ 소문자 구분안한다
ed
editor
__________________________2교시
select
테이블 조정
column 는 룰 전체
보고자하는 column 이름 적음 /column_use
각각 절들이 무슨 관계인지 알고 있기
from
칼럼을 소유한 table_namve
결과로 보고자하는 데이터 컬럼
column - parse
1, 검증
2. execute_plan /최상의 버전 가져다 씀
3. execute
비졀차적인 언어
절차가 전부 삭제묌
0으로 실행시 실행된다.
select에서는 산술연산이 가능하다
- column +상수 > 연산가능
- column + column > 연산가능
- 상수 + 상수 > 연산가능
- 숫자값에서만 연산가능하다 / 문자열에서는 안 한다 (ex 이름)
- 날자값은 더하기 빼기만 가능 cuz 오라클은 날자값 포맷으로 저장이 아니라
시간 등 숫자 개념으로 저장되기에
-null값은 연산후에도 null
nvl 함수
nwl(commission_pct,1)
commission_pct 의 컬럼이 null일경우 1 로 대체 해주는 함수
select last_name, 12*salary + (12*salary*nvl(commission_pct,0))
column 헤딩 변화 못 시킴
column 이름 바꾸는 명령어도 존재하지 않음
column 이름 바꾼다 는 말은 ==
select 에는 단순히 데이터를 검색하는거라 테이블에 영향을 미치지않는다
annasal
-컬럼 다음에 다른 문자가 나타나면 다른 문자로 인지하고 뭐 한다음에 annasal 함
as를 사용하면 바로 annasal로 인지함
- "" 사용
리터럴 문자열 - 중요
- 숫자아닌거에 '' 사용
distinct
-중복제거
-select 문장 다음에 단 한 번만 사용한다 > distinct 사용 한 번이면 전체에 영향 준다
order by
- 정렬
- 사용시 멀티풀중복제거 //중요 n-1 조건 주기
- 중복제거하기위해선 같은값 묶어서
- 멀티풀 중복제거 시
-첫번재 컬럼으로 그루핑현상이 일어나고 두번재현상부터 다시 그루핑? 현상이 일어남
>>>>>>>정리
select distinct * cloumn alias
from table_name;
select
결과를 보고자 하는 것을 제일 나와야함
distinct
한번만 사용가능
select 후에 사용
select 후
*
전체
특정것 보고싶으면 이름 적기
column
alias
""
from table_name;
where 절
= 조건식
- column 조건식 연산잔 value
- 컬럼이름
- 행을 제한하는 절이다 > 중요
- 문자와 날짜일경우 ''사용하기
- 대소문자 구분한다
- 제일 먼저 실행되는 구절
t1 연봉이 120,000이상인 사원의 이름과 연봉을 출력하시오
단 연봉은 annsal 로 출력하시오
>
연봉이 120,000이상인/ 사원의 이름과 /연봉을 출력하시오
단 연봉은 annsal 로 출력하시오
>
select last_name, salary*12 as"AnnSal"
from employees
where
t2
select last_name, salary*12 as"AnnSal"
from employees
where department_id>=8000
>>>>>>>>>false
cuz where 가 먼저 실행되지만, annsal 은 나중에 실행되서
where 이
between a and b
a = 하한값 / 이상
b = 상한 값 / 이하
t3
select last_name, salary*12 as"AnnSal"
from employees
where last_name between 'A' and 'Z'
>>>>>>> between a and b
아스키 코드에 관해 나오는 것
문자열에 해도 나오지만 상관은 없다
select employee_id, last_name, salary, manager_id
from employees
where manager_id IN (100, 101, 201);
100, 101, 201 에게 보고한 사람들 찾기
LIKE
문자의 패턴 검사
%
ex %s > s로 끝나는 거 찾아라
s% > s로 시작하는거 찾아라
%s% > s가 들어간 거 찾아라
-대,소문자 구분하기
_
문자하나
\ 특수문자
세가지 사용
%A% or %a% == % A % a %
t4
-1 2005년에 입사한 사원의 이름과 입사일 출력 tip like
-2 2005년 이후에 입사한 사원의 이름과 입사일을 출력 tip 단일비교연산자 (크다)
-1
select last_name, hire_date
from employees
where hire_date like '05%'
/
-2
select last_name, hire_date
from employees
where hire_date > '05/01/01'
/
>>>>>>> where 값이 테이블에 있는 값을 써야한다는 것은 아니다
t5
20번 부서에 근무하는 사원중에서 연봉이 150000 이상인 사원의 이름과 연봉, 부서번호를 출력
select last_name, salary
from employees
where salary*12 >= 150000
and
/
>>>>>>>>정리
select distinct * column
[Data Base] 2019.06.24. 기록 (0) | 2019.08.24 |
---|---|
[Data Base] 2019.06.22. 기록. 실습내용 (0) | 2019.08.23 |
[Data Base] 2019.06.21. 기록 (0) | 2019.08.22 |
[Data Base] 2019.06.20. 기록 (0) | 2019.08.22 |
[Data Base] 2019.06.18. 기록 (0) | 2019.08.20 |
댓글 영역