hr 계정의 lock을 푸는 명령어
alter user hr account unlock
비밀번호 변경하는 명령어
alter user hr identified by 비밀번호
Eclips상에 ojdbc.jar 연동
프로젝트 우클릭 → Build Path → Configure Build Path → Libraries → Add External Jars
"jdbc:oracle:thin:@127.0.0.1:1521:XE"; 자기 IP 기본 값
Alt + Shift + S → getters and setters 선택
1) inner class
클래스 안에 클래스가 있는 형태, 지역 내부 클래스, static 내부 클래스, 익명 내부 클래스(anonymous inner class)
1) DBMS(Database Management System : Oracle)
데이터 베이스 매니지먼트 시스템
데이터 : 트위터, 인스타그램 등 포스팅(데이터가 쌓여 있는 곳이 데이터베이스)
데이터의 관계를 해석하는 작업 : 통계
데이터를 활용하자 DW(Data Warehosing)
테이블에 있는 데이터를 조작하는 방법(DML : Data Manipulation Language)
- 1) select : 테이블에 있는 데이터를 읽어오는 방법
- 2) insert : 테이블에 데이터를 넣는 방법
- 3) update : 테이블에 있는 데이터를 수정하는 방법
- 4) delete : 테이블에 있는 데이터를 삭제하는 방법
select first_name, last_name
from employees
where employee_id=100
/*employee_id가 Primary key 임 : pk로 선언되어 있는 컬럼에는 entity 무결성 제약 조건이 있음
entity 무결성 제약 조건 : 해당 컬럼에 null이 올 수 없고, 중복된 값이 올 수 없음*/
수업을 듣다가 불만사항이 있으면 피드백을 해주세요, 개선을 하도록 하겠습니다.
설명이 주가 아니라 시각적인 부분을 보충할 수 있도록 하겠다.
세계 최초의 SNS 싸이월드, 네트온도 모바일로 늦게 넘어와서 카카오톡에게 짐
select first_name, last_name
from employees /*from점 뒤에는 테이블 또는 뷰가와야함*/
where employee_id=100
/*employee_id가 Primary key 임 : pk로 선언되어 있는 컬럼에는 entity 무결성 제약 조건이 있음
entity 무결성 제약 조건 : 해당 컬럼에 null이 올 수 없고, 중복된 값이 올 수 없음*/
select 5*4
from dual /*dual은 더미 테이블이라고 부르며 문법을 맞추기위해서 지원해주는 테이블임*/
select *
from employees
select first_name
from employees
where salary >= 10000 and salary <= 15000 /* between 작은값 and 큰 값 */
select first_name
from employees
where salary between 10000 and 15000 /* between 작은값 and 큰 값 */
select distinct first_name
from employees
select last_name
from employees
where first_name like '%s%' or first_name like '%a%'
select first_name
from employees
where first_name like 'P__'
select first_name
from employees
where first_name like '_a%'
select first_name, last_name
from employees
where first_name like '_a%'
order by first_name desc, last_name
/*asc 오름차순 생략 가능함 desc 내림차순 반드시 적어줘야함*/
1. 이름에 'A'가 들어가는 사원들의 이름을 출력하시오
select first_name
from employees
where first_name like '%A%'
2. 월급이 3000 이상 8000 이하인 사원들의 이름과 월급을 출력하시오
select first_name, salary
from employees
where salary between 3000 and 8000
3. 이름과 월급이 출력하는데 월급이 낮은사원부터 높은 사원순으로 출력하시오
select first_name, salary
from employees
order by salary asc
커미션 받는 사원의 이름과 커미션을 출력하시오 (commision_pct)
select first_name, commission_pct
from employees
where commission_pct is not null /*or, is null*/
select first_name as "이름", salary "월 급", salary*12 as "연봉" /* as는 생략가능 */
from employees
order by salary desc
select first_name ||'@'|| email
from employees
Join : 2개 이상의 테이블에서 값을 가져오는 것
사원번호가 151번인 사원의 이름과 소속부서의 이름을 출력하시오
select e.first_name, d.department_name
from employees e, departments d
where e.employee_id=151
and e.department_id = d.department_id
4. 이름에 'A'가 들어가는 사원들의 이름과 부서 이름을 출력하시오
select e.first_name, e.salary, d.department_name
from employees e, departments d
where e.first_name like '%A%'
and e.department_id = d.department_id
5. Seattle(city)에서 근무하는 사원들의 이름을 모두 출력하시오
select e.first_name, l.city
from employees e, departments d, locations l
where l.city='Seattle'
and l.location_id = d.location_id
and d.department_id = e.department_id
6. 부서 위치(city)가 Toronto인 사원의 이름, 부서이름 출력
select e.first_name, d.department_name, l.city
from employees e, departments d, locations l
where l.city='Toronto'
and l.location_id = d.location_id
and d.department_id = e.department_id
* 6번 문제를 서브쿼리(subquery)로 할 수 있음 : 쿼리문안에 또 쿼리문이 있는것을 서브쿼리라고함
1. from 절 뒤에 select문이 올 수 잇음 -> inline view라 부름
2. where 조건절에 쿼리문이 올 수 있음 -> 서브쿼리
select e.first_name, d.department_name
from employees e, departments d
where d.location_id = (select location_id
from locations
where city = 'Toronto')
and d.department_id = e.department_id
7. Ernst(last_name)의 급여와 동일하거나 더 많이 받는 사원의 이름과 급여를 출력하시오
select first_name, salary
from employees
where salary >= (select salary
from employees
where last_name='Ernst')
8. 자신의 급여가 평균 급여보다 많이 받는사원의 이름과(last_name)
근무하는 사원의 사원번호, 이름 및 급여를 출력하시오
평균급여는 avg(salary) => 자기 자신을 조인 => selfjoin
select last_name, salary
from employees e
where e.salary > ( select avg(salary)
from employees)