old posting/MySQL

    [SQL] View 와 View 의 종류

    View 가상의 Table 실제 Table 에는 데이터가 있지만 View 에는 데이터는 없고 SQL 만 저장한다. View 에 접근할 때는 View 에 들어있던 SQL 의 수행된 결과를 가져오는 것이다. View 를 사용하는 목적 보안 : 특정 테이블의 특정 컬럼이 보여지면 안되는 경우 편의성 : 여러개의 테이블을 Join 하는게 매번 귀찮을 때 그것을 View 로 만들어 놓으면 편리하다. Oracle 의 경우 View 를 생성하려면 권한이 부여 되어야 한다. GRANT CREATE VIEW TO [USER]; GRANT CREATE PROCEDURE TO [USER]; 권한 확인 방법 SYSTEM 계정으로 확인해야한다. SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRAN..

    [SQL] Sub Query와 종류 그리고 주의사항

    Sub Query 한번에 여러개의 쿼리를 처리할 수 있는 방법 Sub Query 주의사항 SubQuery 는 연산자 오른쪽에 위치해야 하며 반드시 괄호() 로 묶어야 한다. 특별한 경우를 제외하고는 SubQuery 절에는 Order By 가 올 수 없다. 단일행 SubQuery, 다중행 SubQuery 에 따라 연산자를 잘 선택해야 한다. Sub Query 종류 단일행 Sub Query 다중행 Sub Query 다중컬럼 Sub Query 상호연관 Sub Query 단일행 Sub Query 결과가 한개만 출력되는 것 단일행 Sub Query 의 WHERE 절에서 사용되는 연산자 = : 값이 같으면 true : 값이 서로 다른 값이면 true > : 왼쪽 피연산자의 값이 크면 true < : 왼쪽 피연산자의..

    [SQL] Join

    Join 하나의 테이블뿐만 아니라, 여러개의 테이블에서 정보를 가져와서 결과를 만드는 기법 관계형 데이터베이트(RDBMS)의 가장 핵심 기술 중 하나 ANSI Join 방식이 있고 DBMS 마다 특화된 방식이 있다. ex) Oracle Join 카티션 곱(Cartesian Product) WHERE 절에서 조인 조건을 주지 않은 것을 말하며 두 테이블의 데이터를 기준으로 가능한 모든 조합의 데이터가 조회된다. 복수개의 테이블에서 같은 이름의 필드가 있는 경우 반드시 서로 다른 테이블 별명(Alias)을 사용하여 접근해야한다. Join의 종류 INNER Join LEFT Join (LEFT OUTER JOIN) RIGHT Join (RIGHT OUTER JOIN) FULL OUTER JOIN CROSS J..

    [SQL] 그룹함수(Aggregate Function)

    그룹함수(Aggregate Function) 여러개의 레코드의 필드 값을 계산하여 값을 내는 함수, 다양한 그룹함수들이 있다. GROUP BY : 그룹을 묶는 단위 SELECT 절에 사용된 그룹함수 이외의 컬럼이나 표현식은 반드시 GROUP BY 절에 사용되야 한다. GROUP BY 절에 사용된 컬럼이 꼭 SELECT 절에 사용되지 않아도 된다. GROUP BY 절은 반드시 컬럼명이 사용되어야 한다. 별명(Alias)은 사용이 불가능하다. HAVING : 그룹함수 결과에 대한 조건절 그룹함수 부분은 WHERE 절에서 사용이 불가능하다. SELECT 쿼리문 순서 SELECT [컬럼명 또는 표현식] FROM [테이블 명, 뷰 명] WHERE [조건절] GROUP BY [그룹할 컬럼] HAVING [그룹함수 ..