널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

SQLite 소개 및 안드로이드에서의 사용법
SQL 언어 SQL.
SQL 실습 2014 FALL 데이터베이스 2014/10/04.
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
소리가 작으면 이어폰 사용 권장!.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
오라클 데이터베이스 성능 튜닝.
Database & Internet Computing Laboratory 한 양 대 학 교
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
APM 실습 (MySQL).
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
11장. 데이터베이스 서버 구축과 운영.
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
14장 뷰.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
Database 소개.
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
SQL.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
You YoungSEok Oracle 설치 You YoungSEok
제 4 장 관계 데이터 연산 1. 개요 2. 관계 대수 3. 관계 해석.
ㅇ 스프링 설정파일 (dispatcher-servlet.xml)
문양세 (1st version: 문성우) (revised by 손시운)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Project Specification - 학사관리 시스템 과제 2번
JSP 게시판 구현.
View(뷰) 1 가상 테이블(Virtual Relation)
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
Database 중고차 매매 DB 비즈니스IT 윤동섭.
인터넷응용프로그래밍 과제 실습.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
문양세 (1st version: 문성우) (revised by 손시운)
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어.
MS-SQL7.0 Implementation 강의 노트
4.DECODE 함수를 이용한 IF 처리의 효율화
06. SQL 명지대학교 ICT 융합대학 김정호.
과제 #5 MySQL 연동 php문서에서 SQL문의 삽입, 삭제, 수정, 검색을 수행한다. 주어진 form을 최대한 활용한다.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 2 장종원
Stored program 장종원
쿼리 활용하기 1 담당교수 : 박흠 실용컴퓨터 데이터베이스 기초 Access 담당교수 박흠.
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
2장. 데이터베이스 시스템 개념과 아키텍처 2.1 데이터 모델, 스키마, 인스턴스
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
Presentation transcript:

널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null

널의 처리 예 ) takes 테이블에서 학점이 'A+' 가 아닌 학생들의 학번을 검색 grade 필드의 값이 널인 레코드에 대해서는 질의 결과에 포함되지 않음 하지만 count(*) 는 특정 필드가 아닌 레코드 전체에 대한 연산이므로 널의 존재 여부와는 무관함 ( 질의 65) select stu_id from takes where grade <> 'A+'

중첩 질의 (nested query) SQL 문을 다른 SQL 문 안에 중첩하여 사용하는 질의 복잡한 질의를 쉽게 표현할 수 있는 수단을 제공 내부질의 (inner query), 부질의 (subquery) 내부에 포함된 SQL 문 외부질의 (outer query) 부 질의를 내부적으로 갖는 SQL 문 부 질의는 외부 질의의 from 절이나 where 절에 위치 종류 in, not in =some, some, >=some, <>some (some 대신 any 를 사용해도 됨 ) =all, all, >=all, <>all exists, not exists

IN, NOT IN 예 ) '301 호 ' 강의실에서 개설된 강좌의 과목명을 출력 부 질의 키워드 in 뒤에 나오는 SQL 문으로서 class 테이블에서 강의실이 '301 호 ' 인 교과목 번호를 검색 외부 질의 course 테이블에서 course_id 필드의 값이 부 질의의 검색 결과에 포함되는 경우 (in) 에만 과목명을 출력 ( 질의 66) select title from course where course_id in (select distinct course_id from class where classroom = '301 호 ')

IN, NOT IN 동일한 표현 ( 질의 67) select distinct title from course c1, class c2 where c1.course_id = c2.course_id and classroom = '301 호 '

IN, NOT IN 예 ) 2012 년 2 학기에 개설되지 않은 과목명을 검색 ( 질의 68) select title from course where course_id not in (select distinct course_id from class where year = 2012 and semester = 2)

SOME, ALL =some 지정된 필드의 값이 부 질의 검색 결과에 존재하는 임의의 값과 같은지를 나 타낼 때 사용 in 과 같은 의미 <=some 부 질의의 검색 결과에 존재하는 임의의 값보다 작거나 같은지를 나타낼 때 사용 =all 지정된 필드의 값이 부 질의 검색 결과에 포함된 모든 값과 같은지를 판단 <=all 지정된 필드의 값이 부 질의 검색 결과에 포함된 모든 값보다 작거나 같은지 를 판단

SOME, ALL 예 ) 가장 많은 수강 인원을 가진 강좌를 검색 ( 질의 69) select c1.course_id, title, year, semester, prof_id from class c1, course c2 where c1.course_id = c2.course_id and enroll >= all (select enroll from class)

EXISTS, NOT EXIST 부 질의 검색 결과에 최소한 하나 이상의 레코드가 존재하는지의 여부를 표현 exists 최소한 한 개의 레코드가 존재하면 참이 되고 그렇지 않으면 거짓 not exists 부 질의의 결과에 레코드가 하나도 없으면 참이 되고 하나라도 존재하면 거 짓 예 ) '301 호 ' 강의실에서 개설된 강좌의 과목명을 출력 ( 질의 70) select title fromcourse where exists (select * from class where classroom = '301 호 ' and course.course_id = class.course_id)

EXISTS, NOT EXISTS

EXISTS, NOT EXIST ( 질의 68) 을 not exists 로 표현 가능 ( 질의 71) select title from course where not exists (select * from class where year = 2012 and semester = 2 and course.course_id = class.course_id)

뷰 (view) 기존 테이블들로부터 생성되는 가상의 테이블 테이블처럼 물리적으로 생성되는 것이 아니라 기존의 테이블들을 조합 하여 사용자에게 실제로 존재하는 테이블인 것처럼 보이게 함 기능 특정 사용자에게 테이블의 내용 중 일부를 숨길 수 있기 때문에 보안의 효과 복잡한 질의의 결과를 뷰로 만들어서 사용하게 되면 질의를 간단히 표현 할 수 있음

뷰 생성 생성된 뷰는 테이블과 동등하게 사용 형식 뷰 생성에 사용될 select 문 create view as

뷰 생성 예 ) takes 테이블에서 grade 필드를 제외한 나머지 필드만으로 구성된 뷰 를 생성 ( 질의 72) create view v_takes as select stu_id, class_id from takes

뷰 생성 예 ) student 테이블에서 컴퓨터공학과 학생들 레코드만 추출하여 뷰를 생성 ( 질의 73) create view cs_student as select s.stu_id, s.resident_id, s.name, s.year, s.address, s.dept_id from student s, department d where s.dept_id = d.dept_id and d.dept_name = ' 컴퓨터공학과 '

뷰 사용 예 ) v_takes 뷰에 대해 select 문을 실행

뷰 사용 뷰에 대해서 insert, update, delete 문을 실행 예 ) v_takes 뷰에 대해 레코드를 삽입 v_takes 뷰에 포함되지 않은 grade 필드에는 널이 삽입 ( 질의 74) insert into v_takes values (' ', 'C101-01')

뷰 사용 형식 drop view