본문 바로가기

전체 글

(152)
SQL 문법 활용(1) 1. SET 구문 = 프로시저에 변수나 파라미터에 값을 저장하려면 보통 2가지 방법이 있는데 SET을 이용하거나 SELECT 를 이용해 값을 넣는 방법이다 SET 을 이용하는 경우는 SET 변수 =100 ; 이러한 형식으로 값을 넣지만 SELECT 는 조건이 필요하다 SELECT로 값을 받아오려면 사용자 정의 변수를 사용해야하는데 3가지 조건이 필요하다 1. 변수 이름은 @ 로 시작한다 2. DECLARE는 해주지 않는다 3. = 이 아니라 := 를 사용한다 ex) SELECT @변수 1:=필드 FROM [테이블 명] 2. PREPARE /EXECUTE 구문 동적 SQL과 같은 경우 미리 쿼리문장을 준비한 후에 나중에 실핼하는 것을 의미하는데 이를 PREPARE와 EXECUTE로 구현할 수 있다. PRE..
절차형 SQL 주요 문법 절차형 SQL 에서는 일반 프로그래밍 언어와 같이 제어문/반복문 사용이 가능하다 1. 조건문 : 일반적으로 IF - THEN - ELESIF -ELSE 구조를 사용하거나 CASE ~ WHEN ~ THEN 구조를 사용한다 1 2 3 4 5 6 7 8 9 10 11 12 13 IF x = 1 THEN sequence_of_statements_1; ELSIF x = 2 THEN sequence_of_statements_2; ELSIF x = 3 THEN sequence_of_statements_3; ELSIF x = 4 THEN sequence_of_statements_4; ELSIF x = 5 THEN sequence_of_statements_5; ELSE sequence_of_statements_N; EN..
PROCEDURE(프로시저) / TRIGGER(트리거) 1.PROCEDURE = 저장 프로시저는 미리 데이터베이스 서버에 일련의 SQL 문을 만들어 두고 프로시저들을 수행하여 SQL 문을 간단히 실행 할 수 있게 고안한 것이다 SQL 문만 뿐만아니라 실행부에서 IF 문 WHILE 문 과 같은 제어문/반복문을 사용할 수 있기 때문에 절차형 프로그램이 가능 하게 된다 2.TRIGGER = 트리거는 테이블에 삽입/변경/삭제 와 같은(일반적으로 DML)이 들어 왔을 때 트리거가 설정되어 있으면 트리거 안의 SQL 이 자동으로 수행이 된다 이러한 기능을 사용하여 CRUD 연산에서 발생하는 모순을 방지한다 PROCEDURE TRIGGER CREATE PROCEDURE 문법 사용 CREATE TRIGGER 문법사용 생성하면 소스코드와 실행코드가 생성 생성하면 소스코드와 ..
절차형 SQL 일반적으로 RDBS 를 이루는 SQL 문장은 비절차적 문장이기 때문에 일반 개발 언어와 같이 절차 지향적인 프로그래밍이 가능하도록 DBMS 별로 각자의 절차형 SQL을 제공하고 있다 절차형 SQL 위와 같은 BLOCK 구조를 가진다
JOIN 에서 ON/USING/WHERE 의 차이 SQL 문장에서 JOIN을 작성할 때 ON/USING/WHERE 는 각각 아래와 같은 특징이 있다 1. ON : ON은 WHERE 와 다르게 칼럼명이 다르더라도 조인 저건을 사용 할 수 있으며 JOIN부를 명시하기 위해 주로 사 용한다 ON 은 JOIN 절보다 먼저 실행이 되기 떄문에 OUTER JOIN시 WHERE에 동등한 조건을 명시했을 때 결과가 다른 값이 추출 될 수 있다 2. USING : FROM 절에 하여 원하는 칼럼서 EQUI JOIN을 수행할 수 있다
JOIN의 종류와 방식(2/2) 4. CROSS JOIIN = PRODUCT의 개념과 같으며 테이블간 JOIN 이 없을 경우 생길 수 있는 모든 데이터의 조합을 말한다 1 2 3 SELECT ENAME, DNAME FROM EMP CROSS JOIN DEPT ORDER BY ENAME 만약 위의 쿼리 문에서 EMP 테이블과 DEPT 테이블이 각각 데이터를 N,M 개씩 가지고 있다고 가정을 한다면 CROSS JOIN 은 N*M 건의 데이터를 반환한다 5 OUTER JOIN(LEFT OUTER JOIN / RIGHT OUTER JOIN /FULL OUTER JOIN) = OUTER JOIN은 INNER JOIN 과 반대되는 개념으로 JOIN 조건에서 동일한 값이 없는 행만 반환할 떄 사용하는 JOIN 문장이다
Join 의 종류 및 방식(1/2) 1.EQUI JOIN(동등 조인) = 두 개의 테이블 간의 칼럼 값들이 로 정확하게 일치하는 경우세 사용하는 방법으로 대부분 PK - FK 관계극 기반으로 한다 join 조건은 주로 where 절에 기술이 되며 = 연산자로 표기한다 1 2 3 SELECT player.player_name , player.Back_no, player.Team_ID FROM PLAYER, TEAM where player.Team_ID = TEAM.Team_ID 2.INNER JOIN(내부 조인) = EUQI 조인과 같이 동일한 값이 있는 행만을 반환하는데 INNER JOIN 은 From 절에서 정의하기 떄문에 Using 조건 절이나 ON 조건절을 필수로 정의 해야 한다 1 2 3 SELECT EMP.DEPTNO, EMPNO..
데이터 베이스 뷰(View)란? 테이블은 실제로 데이터를 가지고 있지만 뷰는 실제 데이터를 가지고 있지 않다 뷰는 단지 정의만을 가지고 있는데 이로인해 가상 테이블(virtual table)이라고도 한다 뷰의 장정 설명 독립성 데이블 구조가 변경 되어도 응용 프로그램은 변경 되지 않는다 편리성 복잡한 질의를 뷰를 생성하여 질의 단순 작성 가능 보안성 숨기고 싶은 정보가 있다면 해당 컬럼을 뺴고 생성해 정보를 감출 수 있음 view 생성 코드 1 2 create view [view 이름] select [원하느 컬럼 지정]