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;