본문 바로가기

학원 일기/학원-ORACLE

데이터베이스 2일차

sqldevolope 설치 < 이것도 오라클에서 소프트웨어 선택후 jdk포함된 64비트윈도우운영체제용 설치 기업꺼 ㄴㄴ

 

실제베이스 cdb 

가상베이스 pdb < 우린 가상베이스 사용 (최근 오라클은 이방식 데이터의 보존및 기타등등의 이유로)

 

2.

 

--주석문
alter user hr identified by hr; -- hr유저의 비번 hr로설정 //hr이라는 계정이름자체가 연습용계정이였음 ㄷㄷvolope 설치 < 이것도 오라클에서 소프트웨어 선택후 jdk포함된 64비트윈도우운영체제용 설치 기업꺼 ㄴㄴ

 

 

 

실제베이스 cdb 

 

가상베이스 pdb < 우린 가상베이스 사용 (최근 오라클은 이방식 데이터의 보존및 기타등등의 이유로)

 

 

 

2.

 

 

 

--주석문

alter user hr identified by hr; -- hr유저의 비번 hr로설정 //hr이라는 계정이름자체가 연습용계정이였음 ㄷㄷ

alter user hr account unlock;  -- hr 유저 비번없이 사용하게 변경  

 

3.

문장                     설명

DML     SELECT 데이터베이스로부터 데이터를 검색

        INSERT -DML입니다

        UPDATE - 개별적으로 

 

* 별칭붙일떄 as사용 필드 as 별칭

 

* 오라클에서는 문자  ' '이용 

 

* ||는 or가아니라 파이프라인처럼 연결하는 기능

 

* ''는 문자안에서 ' 표현할때 사용evolope 설치 < 이것도 오라클에서 소프트웨어 선택후 jdk포함된 64비트윈도우운영체제용 설치 기업꺼 ㄴㄴ

 

 

 

실제베이스 cdb 

 

가상베이스 pdb < 우린 가상베이스 사용 (최근 오라클은 이방식 데이터의 보존및 기타등등의 이유로)

 

 

 

2.

 

 

 

--주석문

alter user hr identified by hr; -- hr유저의 비번 hr로설정 //hr이라는 계정이름자체가 연습용계정이였음 ㄷㄷvolope 설치 < 이것도 오라클에서 소프트웨어 선택후 jdk포함된 64비트윈도우운영체제용 설치 기업꺼 ㄴㄴ

 

 

 

 

 

 

 

실제베이스 cdb 

 

 

 

가상베이스 pdb < 우린 가상베이스 사용 (최근 오라클은 이방식 데이터의 보존및 기타등등의 이유로)

 

 

 

 

 

 

 

2.

 

 

 

 

 

 

 

--주석문

 

alter user hr identified by hr; -- hr유저의 비번 hr로설정 //hr이라는 계정이름자체가 연습용계정이였음 ㄷㄷ

 

alter user hr account unlock; -- hr 유저 비번없이 사용하게 변경  

 

 

 

3.

 

문장 설명

 

DML SELECT 데이터베이스로부터 데이터를 검색

 

        INSERT -DML입니다

 

        UPDATE - 개별적으로 

 

 

 

* 별칭붙일떄 as사용 필드 as 별칭

 

* 오라클에서는 문자 ' '이용 

 

* ||는 or가아니라 파이프라인처럼 연결하는 기능

 

* ''는 문자안에서 ' 표현할때 사용

 

SELECT * FROM EMPLOYEES;

select employee_id, first_name, last_name from employees;

select employee_id, hire_date, salary from employees;

--null값 확인
select employee_id, salary*0.001, commission_pct from employees;


--숫자 컬럼은 연산이 가능
select employee_id, salary, salary + salary * 0.1 from employees;

--alias (컬럼의 별칭)
select employee_id as 사원아이디, 
first_name  as 이름, 
last_name as 성, 
salary + salary * 0.1 as 급여 
from employees;

--컬럼 연결 ||, 문자열 표현의 '', 문자열안에서 인용부호 ' 를 쓰고싶다면 두번 쓰면 됩니다
select first_name || last_name as 인사 from employees;
select first_name || ' ' || last_name || 's salary is $' || salary from employees;

 

 

* -- 행 중복 제거 distinct
select distinct department_id from employees;

 

*  -- 출력순서(rownum), 데이터위치(rowid) <<(rowid는 중요도낮음 근데 궁금하긴함 참조같은개념처럼보임)
select rownum, rowid, employee_id, first_name from employees; 

 

* from 구문 이후에 where 필드명 = '찾을값' 이런식으로 원하는값만 출력가능

 

*연산자는  = 이게 같다고 특별한거로는 <> 이게 같지않다 이다

 

select * from employees where hire_date >= '08/01/01'; --s날짜 형식(년/월/일)대소비교 가능

 

* -- in 연산자
select * from employees where manager_id in (101, 102, 103); // 3중에 하나라도 만족하면 출력
select * from employees where job_id in ('AD_ASST', 'FI_MGR', 'IT_PROG');

 

* LIKE 연산자

 

  - %단어% 는 단어라는 문자만있으면됨 앞에 비어도되고 있어도되고 단어뒤가 비어도되고 있어도되고 

 - '_A%' << 이런식이면 2번째가 A로시작하는경우 다출력함 (_의 이해를 돕기위해 썼음)

like는 뭔가 _ %이런것과 같이써서 정규식처럼 뽑아내는 느낌같음

 

null값은 where 필드 is null 또는 /// where 필드 is not null로 출력

 

and연산자가 or연산자의 우선순위가 더높다

and,or,not연산자는 모든 비교연산자보다 우선순위가 낮다

 

()로 우선순위 변경가능

 

select절의 맨우측에서 order by를쓸때 필드를적고 아무것도안적으면 그필드의 asc(오름차순)으로 정렬됨

내림차순으로 하겠다면 꼭 desc내림차순 입력해야함 오름차순도 입력하는 습관을들이자

 

--job_id기준 오름차순, 급여기준 내림차순
select * from employees order by job_id asc, salary desc;  <<이와같은경우 jon_id가 무자고 salary가 숫자면 가 로먼저정렬후 가 의 목록중에서 숫자 내림차순 > 나 의 목록중에서 숫자내림차순 ~~.... ~~ 하의 목록중에서 내림차순이렇게됨

--order by문에서 엘리어스를 이용해서 정렬이 가능합니다.
select first_name  as 이름, salary, salary * 12 as 연봉 from employees
order by 연봉 desc;

 

---------------------------문제

 

--모든 사원의 사원번호, 이름, 입사일 ,급여를 출력하세요
select employee_id, first_name, hire_date, salary from employees;
--모든 사원의 이름과 성을 붙여 출력하세요. 열 별칭은 name으로 하세요.
select first_name || ' ' || last_name as name from employees;
--50번 부서 사원의 모든 정보를 출력하세요
select * from employees where derpartment_id = 50;
select * from employees where department_id = 50;
--5. 모든 사원의 이름,급여 그리고 300달러 인상된 급여를 출력하세요.
select first_name,salary,salary + 300 from employees;
--6. 급여가 10000보다 큰 사원의 이름과 급여를 출력하세요
select first_name,salary from employees where salary >= 10000;
--7. 보너스를 받는 사원의 이름과 직무, 보너스율을 출력하세요
select first_name, job_id, commission_pct from employees where commission_pct is not null;
--8. 2003년도 입사한 사원의 이름과 입사일 그리고 급여를 출력하세요.(betwwen 연산자 사용)
select first_name, salary, hire_date from employees where hire_date BETWEEN '2003/01/01' and '2003/12/31';
--9. 
select first_name, salary + 300 from employees;
--10. 모든 사원의 이름과 급여를 급여가 많은 사원부터 적은 사원순서로 출력하세요.
select first_name, salary from employees order by salary asc;
--11. 위 질의를 60번 부서의 사원에 대해서만 질의하세요.( 컬럼 :department_id)
select first_name from employees where department_id = 60;
select * from employees;
--12. 직무 아이디가 IT_PROG이거나 , SA_MAN인 사원의 이름과 직무아이디를 출력하세요.
select first_name, job_id from employees where job_id = 'IT_PROG' or first_name = 'SA_MAN';
--13. Steven King 사원의 정보를 "Steven King 사원의 급여는 24000달러 입니다" 형식으로 출력하세요
select first_name || '사원의 급여는' || salary || '입니다' from employees 
where first_name = 'Steven' and last_name = 'King';
--14 매니저 직무에 해당하는 사원의 이름과 직무아이디를 출력하세요
select first_name, job_id from employees where job_id like '%MAN%';
--15 위조건을 직무아이디 순서대로 출력하시오
select first_name, job_id from employees where job_id like '%MAN%'
order by job_id asc;

'학원 일기 > 학원-ORACLE' 카테고리의 다른 글

db7일차  (0) 2021.04.06
db6일차  (0) 2021.04.05
db5일차  (0) 2021.04.02
db4일차  (0) 2021.04.01
디비 3일차  (0) 2021.03.31