본문 바로가기

SQLD

(51)
[SQLD : Ⅳ. SQL 활용] 2. 집합 연산자 - 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 - 기존의 조인은 FROM 절에 검색하고자 하는 테이블 나열, WHERE 절에서 조건을 기술 - 집합 연산자는 여러 질의의 결과를 연결하여 하나로 결합하는 방식 사용 SELECT 칼럼명1, 칼럼명2, ... FROM 테이블명1 [WHERE 조건식 ] [[GROUP BY 칼럼(Column)이나 표현식 [HAVING 그룹조건식 ] ] 집합 연산자 SELECT 칼럼명1, 칼럼명2, ... FROM 테이블명2 [WHERE 조건식 ] [[GROUP BY 칼럼(Column)이나 표현식 [HAVING 그룹조건식 ] ] [ORDER BY 1, 2 [ASC또는 DESC ] ; SELECT PLAYER_NAME 선수명, BACK_NO 백넘버 ..
[SQLD : Ⅳ. SQL 활용] 1-2. 표준조인 * ON 조건절 - JOIN 서술부(ON 조건절)와 비 JOIN 서술부(WHERE 조건절)를 분리하여 이해 - 컬럼명이 다르더라도 JOIN 조건을 사용할 수 있는 장점이 있음 [예제] 사원 테이블과 부서 테이블에서 사원 번호와 사원 이름, 소속부서 코드, 소속부서 이름을 출력한다. SELECT E.EMPNO, E.ENAME, E.DEPTNO, D.DNAME FROM EMP E JOIN DEPT D ON (E.DEPTNO = D.DEPTNO); - NATURAL JOIN의 JOIN 조건은 기본적으로 같은 이름을 가진 모든 컬럼들에 대한 동등 조건 - 임의의 JOIN 조건 지정, 이름이 다른 컬럼명을 JOIN 조건으로 사용, JOIN 컬럼을 명시하기 위해 ON 조건절 사용 - ON 조건절을 사용한 JOIN의..
[SQLD : Ⅳ. SQL 활용] 1-1. 표준조인 * ANSI/IOS 표준 SQL 기능 - STANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 등 새로운 FROM 절 JOIN 기능들) - SCALAR SUBQUERY, TOP-N QUERY 등의 새로운 SUBQUERY 기능들 - ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능 - WINDOW FUNCTION 같은 새로운 개념의 분석 기능들 * 일반 집합 연산자 1) UNION - 수학적 합집합을 제공하기 위해, 공통 교집합의 중복을 업애기 위한 사전 작업 - 시스템에 부하를 주는 정렬 작업이 발생 - UNION ALL은 공통집합을 중복해서 그대로 보여주기 때문에 정렬 작업이 일어나지 않음 - UNION과 UNION ALL의 출력결과가 같으면 UNION ALL ..
[SQLD : Ⅲ. SQL 기본] 9. 조인 * JOIN 개요 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것을 JOIN이라고 하며, 일반적으로 사용되는 SQL 문장의 상당수가 JOIN 일반적인 경우 행들은 PRIMARY KEY(PK)나 FOREIGN KEY(FK) 값의 연관에 의해 JOIN이 성립 FROM 절에 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 때는 단 두 개의 집합 간에만 조인이 일어난다 * EQUI JOIN EQUI(등가) JOIN은 두 개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하는 경우에 사용되는 방법 대부분 PK ↔ FK의 관계를 기반으로 함 반드시 PK ↔ FK의 관계로만 EQUI JOIN이 성립하는 것은 아님 계층형(Hierarchical)이나 망형(Network) 데이터베이스와 비교해서 ..
[SQLD : Ⅲ. SQL 기본] 8. ORDER BY 절 * ORDER BY 정렬 SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정 칼럼을 기준으로 정렬하여 출력하는데 사용 칼럼(Column)명 대신에 SELECT 절에서 사용한 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능 별도로 정렬 방식을 지정하지 않으면 기본적으로 오름차순이 적용 SELECT 칼럼명 [ALIAS명] FROM 테이블명 [WHERE 조건식] [GROUP BY 칼럼(Column)이나 표현식] [HAVING 그룹조건식] [ORDER BY 칼럼(Column)이나 표현식 [ASC 또는 DESC]] ; ASC(Ascending) : 조회한 데이터를 오름차순으로 정렬한다.(기본 값이므로 생략 가능) DESC(Descending) : 조회한 데이터를 내림차순으로 정렬한다. [예제] O..
[SQLD : Ⅲ. SQL 기본] 7. GROUP BY, HAVING 절 * 집계 함수 - 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수이다. - GROUP BY 절은 행들을 소그룹화 한다. - SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다. 집계 함수명 ( [DISTINCT | ALL] 칼럼이나 표현식 ) - ALL : Default 옵션이므로 생략 가능함 - DISTINCT : 같은 값을 하나의 데이터로 간주할 때 사용하는 옵션임 [예제] 일반적으로 집계 함수는 GROUP BY 절과 같이 사용되지만 아래와 같이 테이블 전체가 하나의 그룹이 되는 경우에는 GROUP BY 절 없이 단독으로도 사용 가능하다. SELECT COUNT(*) "전체 행수", COUNT(HEIGHT) "키 건수", MAX(HEIGHT) 최대키, MIN(H..
[SQLD : Ⅲ. SQL 기본] 6. 함수 FUNCTION * 내장함수 BUILT IN FUNCTION 개요 - 함수는 벤더에서 제공하는 함수인 내장 함수와 사용자가 정의할 수 있는 함수로 나눔 - 내장 함수는 단일행 함수와 다중행 함수로 나눔 - 다중행 함수는 집계함수, 그룹함수, 윈도우 함수로 나눔 함수명 (칼럼이나 표현식 [, Arg1, Arg2, ... ]) - 단일행 함수는 처리하는 데이터 형식에 따라서 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수로 나눔 - 단일행 함수 특징 SELECT, WHERE, ORDER BY 절에 사용 가능 각 행들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각 행에 대한 조작 결과 리턴 여러 인자를 입력해도 단 하나의 결과만 리턴 함수의 인자로 상수, 변수, 표현식이 사용 가능하고, 하나의 인수를 가지는 ..
[SQLD : Ⅲ. SQL 기본] 5. WHERE절 * WHERE절 개요 - 사용자들은 자신이 원하는 자료만 검색하기 위해 WHERE절 이용 - WHERE 절에는 두 개 이상의 테이블에 대한 조인 조건이나 결과를 제한하기 위한 조건 기술 - WHERE절에 조건이 없는 FTS(full table scan) 문장은 SQL 튜닝의 1차적 검토 대상이 됨 - SQL server, Sybase 문장은 SELECT 목록에 상수, 변수 및 산술식만 포함되는 경우 FROM 필요없음 - 테이블 컬럼이 사용된 경우 FROM 절 필요, WHERE 절은 조회하려는 데이터에 특정 조건 부여 목적 SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명] FROM 테이블명 WHERE 조건식; * 연산자 종류 * 비교연산자 소속팀이 삼성블루윙즈이거나 전남드래곤즈에 소속된 선수들..