본문 바로가기

Data_Analysis_Track_33/SQL

(13)
SQL_11(DDL : Create, Alter, Drop) DDL DML -> Insert, Update, Delete, Select 생성 수정 삭제 조회 DDL -> Create, Alter, Drop + Truncate Create /* *********************************************************************************** 테이블 생성 - 구문 create table 테이블 이름( 컬럼 설정 ) 컬럼 설정 - 컬럼명 데이터타입 [default 값] [제약조건] - 데이터타입 - default : 기본값. 값을 입력하지 않을 때 넣어줄 기본값. 제약조건 설정 - primary key (PK): 행식별 컬럼. NOT NULL, 유일값(Unique) - unique Key (uk) : 유일값을 가지는 ..
SQL_10(DML : INSERT, UPDATE, DELETE) INSERT /* ********************************************************************* INSERT 문 - 행 추가 구문 - 한행추가 : - INSERT INTO 테이블명 (컬럼 [, 컬럼]) VALUES (값 [, 값[]) - 모든 컬럼에 값을 넣을 경우 컬럼 지정구문은 생략 할 수 있다. - 조회결과(select)를 INSERT 하기 (subquery 이용) - INSERT INTO 테이블명 (컬럼 [, 컬럼]) SELECT 구문 - INSERT할 컬럼과 조회한(subquery) 컬럼의 개수와 타입이 맞아야 한다. - 모든 컬럼에 다 넣을 경우 컬럼 설정은 생략할 수 있다. ****************************************..
SQL_09(집합 연산자(union, union all) /* **************************************************** 집합 연산자 (결합 쿼리) - 둘 이상의 select 결과를 합치는 연산 - 구문 select문 집합연산자 select문 [집합연산자 select문 ...] [order by 정렬컬럼 정렬방식] -연산자 - UNION: 두 select 결과를 하나로 결합한다. 단 중복되는 행은 제거한다. - UNION ALL : 두 select 결과를 하나로 결합한다. 중복되는 행을 포함한다. - 규칙 - 연산대상 select 문의 컬럼 수가 같아야 한다. - 연산대상 select 문의 컬럼의 타입이 같아야 한다. - 연산 결과의 컬럼이름은 첫번째 select문의 것을 따른다. - order by 절은 구문의 마지막에 넣..
SQL_08(서브쿼리(상관 쿼리, EXISTS, NOT EXISTS 연산자) 상관(연관) 쿼리 /* ************************************************************************************************* 상관(연관) 쿼리 - 메인쿼리문의 조회값을 서브쿼리의 조건에서 사용하는 쿼리. - 메인쿼리를 실행하고 그 결과를 바탕으로 서브쿼리의 조건절을 비교한다. - 메인 쿼리의 where을 실행하면서 subquery가 같이 실행된다. 이때 메인쿼리 where 절에서 비교하는 그 행의 컬럼값들을 가지고 subquery가 실행된다. * *************************************************************************************************/ -- 부서별..
SQL_07(서브쿼리) use hr_join; /* ************************************************************************** 서브쿼리(Sub Query) - 쿼리안에서 select 쿼리를 사용하는 것. - 메인 쿼리 - 서브쿼리 서브쿼리가 사용되는 구 - select절, from절, where절, having절 서브쿼리의 종류 - 어느 구절에 사용되었는지에 따른 구분 - 스칼라 서브쿼리 - select 절에 사용. 반드시 서브쿼리 결과가 1행 1열(값 하나-스칼라) 0행이 조회되면 null을 반환 - 인라인 뷰 - from 절에 사용되어 테이블의 역할을 한다. 서브쿼리 조회결과 행수에 따른 구분 - 단일행 서브쿼리 - 서브쿼리의 조회결과 행이 한행인 것. - 다중행 ..
SQL_06(Self , Outer JOIN) /* **************************************************** Self 조인 - 물리적으로 하나의 테이블을 두개의 테이블처럼 조인하는 것. - self join에서는 하나를 부하테이블, 하나를 상사테이블로 생각 **************************************************** */ -- 직원 ID가 101인 직원의 직원의 ID(emp.emp_id), 이름(emp.emp_name), 상사이름(emp.emp_name)을 조회 select * from emp where emp_id = 101; select emp_name as 상사이름 from emp where emp_id = 100; select e.emp_id, e.emp_name as "..
SQL_05(JOIN) 실습에 이용할 데이터베이스와 테이블 등록 CREATE DATABASE hr_join; USE hr_join; set foreign_key_checks=0; -- ------------------------------------------------------ -- DDL FOR DEPT -- 부서 테이블 -- ------------------------------------------------------ DROP TABLE IF EXISTS dept; CREATE TABLE dept( dept_id INT PRIMARY KEY, dept_name VARCHAR(100) NOT NULL, loc VARCHAR(100) NOT NULL ); INSERT INTO dept (dept_id,dept_name,..
SQL_05(Foreign key, JOIN 이론) 테이블 간의 관계 : Foreign key 제약조건 ▪ Foreign key(외래키) – 한 테이블이 다른 테이블의 컬럼 값을 참조하는 것 ▪ 부모테이블 – 참조 되는 테이블 ▪ 자식테이블 – 참조 하는 테이블 – 직원테이블의 데이터(ROW)는 부서테이블의 데이터를 참조한다. – 부서테이블의 ROW는 직원테이블의 데이터 0개~N개가 참조할 수 있다. – 직원테이블의 데이터 하나는 직원테이블의 데이터 하나를 상사_ID로 참조한다. ▪ 기본 구문 CONSTRAINT 제약조건이름 FOREIGN KEY(컬럼) REFERECES 부모테이블(PK컬럼) [ON 설정] – 참조컬럼은 PK거나 Index 설정된 컬럼이어야 한다. ▪ 자식 테이블로부터 참조 당하는 부모 테이블의 row는 삭제 할 수 없다. ▪ CASCAD..