뷰(VIEW)와 인덱스(index) □ 뷰(VIEW) 하나 이상의 테이블을 합하여 만든 가상 테이블,논리적 테이블이며 일반 사용자의 입장에서는 테이블과 같은 데이터베이스 개체임 뷰는 가상 테이블로, 실제 데이터를 디스크에 저장하지 않고 단지 뷰를 생성할 때 사용한 SELECT 문의 정의를 DBMS에 저장한다. 뷰를 사용하여 질의를 처리하면 DBMS는 뷰의 정의를 참조하여 질 의를 수행하고 그결과를 사용자에게 반환한다. 따라서 사용자는 DBMS에 저장된 뷰의 정의를 알 지 못해도 일반적인 테이블과 같이 사용할 수 있다. 테이블에 사용할 수 있는 모든 연산을 뷰에서 사용할 수 있음 뷰는 테이블처럼 사용할 수 있지만 SELECT문을 제외한 일부 물리적인 테이블의 갱신 작업을 ..

조인(Join) - SQL, Subquery join.sql DROP database if exists madang;create database madang;use madang;CREATE TABLE Book ( bookid INTEGER PRIMARY KEY, bookname VARCHAR(40), publisher VARCHAR(40), price INTEGER );CREATE TABLE Customer ( custid INTEGER PRIMARY KEY, name VARCHAR(40), address VARCHAR(50), phone VARCHAR(20));CREATE TABLE Orders ( ord..
dml 예제3 답 use product_db;-- 문제1) porderTBL 테이블에서 모든 내용을 검색하되-- amount을 기준으로 내림차순 정렬해서 모두를 검색select *from porderTBLorder by amount desc;-- 문제2) customerTBL 테이블에서 김씨 또는 이씨 성을 가진 사람만-- 검색하되 cname을 기준으로 내림차순 정렬하시오.select * from customerTBL;select *from customerTBLwhere cname like '김%' or cname like '이%'order by cname desc;-- 김으로 시작하는 김%-- 가전으로 시작하는 가전%-- 점으로 끝나는 %점-- 마트로 끝나는 %마트-- '화'자를 포함하는 %화%..
dml 예제3 use product_db;-- 문제1) porderTBL 테이블에서 모든 내용을 검색하되-- amount을 기준으로 내림차순 정렬해서 모두를 검색-- 문제2) customerTBL 테이블에서 김씨 또는 이씨 성을 가진 사람만-- 검색하되 cname을 기준으로 내림차순 정렬하시오.-- 문제3) porderTBL 테이블에서 amount가 20이하인 자료의-- amount에 모두 5를 더한 값으로 변경하세요.-- 문제4) productTBL 테이블에서 price를 모두 10% 인상하세요.-- 문제5) porderTBL 테이블에서 custid가 c1인 고객의 amount를-- 10을 추가한 수량으로 변경하세요.-- 문제6) porderTBL 테이블에서 주문 고객의 custid를 중복제거하고-..

조인(Join) -관계 대수 Join은 두 릴레이션(relation)의 공통 속성을 기준으로 속성값이 같은 튜플을 수평으로 결합하는 연산으로, 두 릴레이션에 카티션 프로덕트(cartesian product)연산을 한 후 셀렉션(selection)연산을 한 것으로 정의할 수 있음이때 셀렉션 연산의 은 속성값이 같은지 비교하는 식이다. 1. 기본 조인 연산 ● 세타조인 (theta join) : 조인에 참여하는 두 릴레이션의 속성값을 비교하는 조건을 만족하는 튜플만 반환 ● 동등조인(equi join, inner join) : 세타 조인에서 = 연산자를 사용한 조인,보통 조인 연산이라고 하면 동등 조인을 지칭 ex) 고객과 고객의 주문 사항을 모두 표시 ..
use product_db;# 문1) porderTBL 테이블에서 amount의 합계, 평균, # 최댓값, 최솟값 구하기select sum(amount), avg(amount), max(amount), min(amount)from porderTBL;-- #문2) productTBL 테이블에서 price의 합계를 구하기select sum(price)from productTBL;-- #문3) customerTBL 테이블에서 고객이 몇 명있는지 -- 고객의 인원수 구하기select * from customerTBL;select count(custid)from customerTBL;-- #문4) porderTBL 테이블에서 고객코드(custid)가 'c1', 'c3'인 고객들의 -- amount의 합계 구하..
use product_db; -- ctrl + enter 실행select * from customertbl;select * from pordertbl;select * from producttbl;-- 문제1) product_db의 productTBL의 구조만 남기고 -- 내용을 모두 삭제하시오./*ddl : 데이터 정의어, Create(생성), alter(수정), drop(삭제, 모두 삭제), truncate(구조만 남기고 삭제)dml : 데이터 조작어, select(검색), insert(삽입), delete(삭제, 레코드), update(수정)dcl : 데이터 제어어, grant(권한부여), revoke(권한회수) delete from 테이블명; delete from 테이블명 where..