데이터 제어 언어
DDL(데이터정의어) : 객체생성, 객체구조변경, 객체제거(CREATE, ALTER, DROP) DML(데이터조작어) : 데이터추가, 수정, 삭제(INSERT, UPDATE, DELETE) 대소문자 구분 X, 테이블 이름 대문자로 생성됨 릴레이션 관계말고 그냥 릴레이션이라 읽기 클래스 이름 명사로 만들듯이 테이블 이름도 명사로 만들어야함 컬럼값도 명사로 만들어야함 1. 테이블생성 CREATE TABLE t_a( one number(5), --99999까지 표현 two number(5,2),--최대값 999.99, 소숫점 2째자리까지 three char(3),--'A'__넣어도 자릿수는 3자리 저장, 실제 메모리 3자리 확보 four varchar2(3), --가변길이__ --'A' five date );..
서브쿼리(SubQuery) (2)
--(2) INLINE VIEW : FROM절에서 사용하는 서브쿼리 --사원의 사번, 이름, 급여를 출력하시오. 많은 급여를 받는 사원부터 출력한다. SELECT employee_id, first_name, salary FROM employees ORDER BY salary DESC; --ROWNUM : 행번호, 1부터 시작 가짜컬럼, 오라클에 내장되어있는 컬럼명, 어느 테이블에서든 사용 가능 --사원의 행번호, 사번, 이름, 급여를 출력하시오. SELECT ROWNUM, employee_id, first_name, salary FROM employees; --TOP-N Query --사원의 사번, 이름, 급여를 출력하시오. 많은 급여를 받는 사원 5명만 출력한다. SELECT ROWNUM, employ..
JOIN 예제
1.부서의 부서번호, 부서가 속한 지역의 도시명(city), 국가명(country_name)을 출력하시오 SELECT department_id, city, country_name FROM departments d JOIN locations l ON (d.location_id = l.location_id) JOIN countries c ON (l.country_id = c.country_id); 2. 사원의 사번, 부서번호, 부서명, 직무번호, 직무명을 출력하시오 직무명에 'Manager'를 포함한 사원들만 출력하시오 직무번호순, 부서명으로 오름차순하시오 SELECT employee_id, e.department_id, d.department_name ,e.job_id, job_title FROM empl..
내장함수(다중행 함수, 그룹화, 정렬하기)
여러 행들을 합쳐서 행수, 합, 평균은 어떠한지 확인, 결과가 한개만 도출됨. --B. 다중행함수(집계함수): COUNT(), SUM(), AVG(), MAX(), MIN() : 테이블의 각 열에 대해 계산을 하는 함수 SELECT COUNT(*) "전체사원수" --107 행수셀 때는 * ,COUNT(commission_pct) "수당받는사원수" --35 ,COUNT(department_id) "부서배치받은사원수" FROM employees; --sum() null을 포함하지 않은 합 null이 아닌 행수를 세고싶으면 null값을 포함하고 있는 컬럼명 쓰기 SELECT SUM(salary) "총급여" --691416 ,AVG(salary) "평균급여" --6461.8317757009345794392523..