Nested Queries CSED421: Database Systems Labs.

Slides:



Advertisements
Similar presentations
LAB: Web-scale Data Management on a Cloud Lab 1. Introduction 2011/03/04.
Advertisements

강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL 언어 SQL.
02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
ER Schema (추가)
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
Prepared Statements CSED421: Database Systems Labs.
데이터 모델링 방법론 2003년 03월.
PL/SQL.
청소년문제와 보호 청소년문제의 개념과 범주.
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
대용량 데이터베이스 솔루션 발표자: 박보영 2007년 5월19일.
오라클 데이터베이스 성능 튜닝.
Database & Internet Computing Laboratory 한 양 대 학 교
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
박시우 ( 업무에 바로 쓰는 SQL 튜닝 박시우 (
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
제 5 장 인덱스 생성 및 관리.
5장 SQL 주요 함수.
SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
7장 조인.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
8장 서브 쿼리.
Oracle7.0 (SQL & SQL PLUS) - 신입사원 교육자료 (주)대호네티즌 S/W개발팀.
SQL SQL 불펌하지 마세요!!!!!!!! 불펌 금지.
6장 Mysql 명령어 한빛미디어(주).
오라클 데이터베이스 성능 튜닝.
요약 정보 만들기.
오라클 데이터베이스 성능 튜닝.
kHS 데이터베이스 테이블 및 인덱스 kHS.
기본적인 SELECT문 작성.
데이터 베이스 설계 및 실습 #3 - SQL 함수.
14장 뷰.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
6장 그룹 함수.
09 서브쿼리(Subquery) 서브쿼리의 개념 서브쿼리의 종류 데이터베이스 실무에서 서브쿼리 사용시 주의 사항.
14 뷰(View) 뷰의 개념 뷰 관리.
SELECT empno, ename, job, sal, dname FROM emp, dept
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
3장 SQL*Plus 명령어.
9장 테이블 생성 및 변경, 삭제하기(DDL).
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
질의 최적화 예제 선택연산과 추출 연산은 가급적 일찍 수행하라..
SQL.
Quiz #1.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
CHAP 13. 방명록 만들기 실습.
13장 무결성 제약조건.
Restricting and Sorting Data
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
8장 테이블의 생성 및 변경 정인기.
문성우 SQL 실습 Part Ⅰ 문성우.
Chapter 10 데이터 검색1.
Presentation transcript:

Nested Queries CSED421: Database Systems Labs

Contents Set Operations Nested Subqueries Example Practice IN / NOT IN ANY(SOME) / ALL EXISTS / NOT EXISTS UNIQUE / NOT UNIQUE Example Practice

Set Operations Find all customers who have a loan, an account, or both: (SELECT customer-name FROM depositor) UNION (SELECT customer-name FROM borrower) Find all customers who have both a loan and an account. (SELECT customer-name FROM depositor) INTERSECT (SELECT customer-name FROM borrower) Find all customers who have an account but no loan. (SELECT customer-name FROM depositor) MINUS (SELECT customer-name FROM borrower) Join은 테이블 setoperations은 쿼리의 결과

IN / NOT IN Find all customers who have both an account and a loan at the bank. SELECT DISTINCT customer-name FROM borrower WHERE customer-name IN (SELECT customer-name FROM depositor) Find all customers who have a loan at the bank but do not have an account at the bank SELECT DISTINCT customer-name FROM borrower WHERE customer-name NOT IN (SELECT customer-name FROM depositor)

ANY / ALL Comparison operator >ANY() : Greater than the minimum value in ANY() >ALL() : Greater than the maximum value in ALL() =ANY() : Equivalent to IN operator <>ALL(): Equivalent to NOT IN operator Find the names of all branches that have greater assets than all branches located in Brooklyn. SELECT branch-name FROM branch WHERE assets > ALL (SELECT assets FROM branch WHERE branch-city = ‘Brooklyn’)

EXISTS / NOT EXISTS Find all customers who have both an account and a loan at the bank. SELECT customer-name FROM borrower B WHERE EXISTS ( SELECT customer-name FROM depositor D WHERE D.customer-name=B.customer-name)

UNIQUE / NOT UNIQUE Find all customers who have at most one account at the Granville branch. SELECT T.customer-name FROM depositor T WHERE UNIQUE ( SELECT R.customer-name FROM account A, depositor R WHERE T.customer-name = R.customer-name and R.account-number = A.account-number and A.branch-name = ‘Granville’)

Practice EMP table & DEPT table emp.sql EMPNO NUMBER(4) 직번 ENAME VARCHAR2(10) 이름 JOB VARCHAR2(9) 직위 MGR 상사 직번 HIREDATE DATE 고용일 SAL NUMBER(7, 2) 급여 COMM 추가 급여 DEPTNO NUMBER(2) 부서번호 jobs 테이블 1. employees 테이블에서 각 job_id별로 몇 명의 사람이 있는지 검색하시오. DEPTNO NUMBER(2) 부서번호 DNAME VARCHAR2(14) 부서명 LOC VARCHAR2(13) 부서위치

Practice 1. ‘BLAKE’ 와 같은 부서에서 일하는 모든 사원의 이름과 고용일을 출력하시오. 2. 평균 급여 이상을 받는 사람들의 직번과 이름을 출력하시오. 급여의 내림차순으로 정렬하시오. @lab5_delete.sql @hr_main.sql

Practice 3. 부서 위치가 ‘DALLAS’인 부서에서 일하는 직원의 이름, 부서, 직위를 출력하시오. 4. 매니저가 King인 사원의 이름과 급여를 출력하시오.

Practice 5. 모든 SALESMAN보다 많은 급여를 받는 사원의 이름과 급여를 출력하시오.

Practice 6. 평균 급여보다 많은 급여를 받은 사원들의 부서별 현황을 출력하시오.