분류 전체보기
2-1-8. 표준 조인
1. FROM 절 조인 형태 ANSI/ISO SQL에서 표시하는 FROM 절의 조인 형태는 다음과 같다. INNER JOIN: DEFAULT 옵션, 조인 조건을 만족하는 행들만 반환한다. NATURAL JOIN: INNER JOIN의 하위개념으로, 두 테이블 간 동일한 이름을 가지는 모든 칼럼에 대해 EQUI JOIN을 수행한다. USING 조건절: NATURAL JOIN에서, 원하는 칼럼에 대해서만 선택적으로 EQUI JOIN을 할 수 있게 함 ON 조건절: JOIN 조건절과 데이터 제한 조건(WHERE 절)을 분리할 수 있다. CROSS JOIN OUTER JOIN 2. INNER JOIN - "INNER JOIN"을 표시하기 위해서는, USING 조건절이나 ON 조건절을 필수적으로 사용해야 한다. ..
2-1-7. 조인
1. 조인 개요 두 개 이상의 테이블들을 연결해 데이터를 출력하는 것을 조인(JOIN)이라고 한다. 일반적으로 PK-FK 값의 연관에 의해 조인이 성립된다. 하지만, 어떤 경우에는 이러한 PK, FK의 관계가 없어도 논리적인 값들의 연관만으로 조인이 성립될 수 있다. 2. EQUI JOIN - EQUI JOIN(등가 조인)은 두 개의 테이블 간에 칼럼 값들이 서로 '정확하게 일치'하는 경우에 사용되는 방법으로, 대부분 PK-FK 관계를 기반으로 한다. 물론, 항상 PK-FK 관계를 사용하는 것은 아니다. 다음은 EQUI JOIN의 대략적인 형태이다. 더보기 SELECT 테이블1.칼럼명, 테이블2.칼럼명, ... FROM 테이블1, 테이블2 WHERE 테이블1.칼럼명 = 테이블2.칼럼명; ===> WHER..
2-1-6. ORDER BY 절
1. ORDER BY 정렬 - ORDER BY 절은 SQL 문장으로 조회한 데이터들을 다양한 목적에 맞게 특정 칼럼을 기준으로 정렬 및 출력하는데 사용된다. 더보기 SELECT 칼럼명 [ALIAS 명] FROM 테이블명 [WHERE 조건식] [GROUP BY 칼럼이나 표현식] [HAVING 그룹조건식] [ORDER BY 칼럼이나 표현식 [ASC | DESC]]; - ASC는 오름차순, DESC는 내림차순을 의미한다. 그냥 정렬하는 거면 상관 없는데, 'NULL'이 껴있다면 어떻게 될까? - Oracle은 NULL값을 가장 큰 값으로 취급한다. - SQL Server는 반대의 정렬 순서를 가진다. - 칼럼명이나, 칼럼의 ALIAS를 사용할 수 있다. 2. SELECT 문장 실행 순서 - GROUP BY 절..
2-1-5. GROUP BY, HAVING 절
1. 집계함수 - 여러 행들의 그룹이 모여 그룹당 단 하나의 결과를 돌려주는 함수 - GROUP BY 절은 행들을 '소그룹화'한다. - SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다. 집계함수는 그룹에 대한 정보를 제공하므로, 주로 '숫자 유형'에 사용되지만, MAX-MIN-COUNT 함수는 문자/날짜 유형에도 적용이 가능하다. 집계함수의 종류는 아래와 같다. 집계함수 사용 목적 COUNT(*) NULL 값을 포함한 행의 수를 출력한다. COUNT(표현식) 표현식의 값이 NULL 값인 것을 제외한 행 수를 출력한다. SUM([DISTINCT | ALL] 표현식) 표현식의 NULL 값을 제외한 합계를 출력한다. AVG([DISTINCT | ALL] 표현식) 표현식의 NULL 값을..
2-1-4. WHERE 절
1. WHERE 조건절 개요 더보기 SELECT [DISTINCT/ALL] 칼럼명 [AS ALIAS명] FROM 테이블명 WHERE 조건식; WHERE 절은 FROM 절 다음에 위치하며, 조건식은 아래 내용으로 구성된다. - 칼럼명(보통 조건식의 좌측에 위치) - 비교 연산자 - 문자, 숫자, 표현식(보통 조건식의 우측에 위치한다) - 비교 칼럼명(JOIN 사용 시) 2. 연산자의 종류 WHERE 절에 사용되는 연산자는 비교 연산자, SQL 연산자, 논리 연산자 총 3가지 종류가 있다. 구분 연산자 연산자의 의미 비교 연산자 =, >, >=, 단수 - NULL을 고려할 때, 'A = NULL'같이 비교 연산자를 적용할 수 없다. 반드시 'IS NULL'이나 'IS NOT NULL'처럼 SQL 연산자를 사..
2-1-3. 함수
1. 내장 함수 개요 종류 내용 함수의 예 문자형 문자를 입력, 문자나 숫자 값을 반환 LOWER, UPPER, ASCII, CHR/CHAR, CONCAT, SUBSTR/SUBSTRING, LENGTH/LEN, LTRIM, RTRIM, TRIM 숫자형 숫자 입력, 숫자 반환 ABS, SIGN, MOD, CEIL/CEILING, FLOOR, ROUND, TRUNG, SIN, COS, TAN, EXP, POWER, SQRT, LOG, LN 날짜형 DATE 타입 값 연산 SYSDATE/GENDATE, EXTRACT/DATEPART, TO_NUMBER(TO_CHAR(D, 'YYYY'|'MM'|'DD)) / YEAR|MONTH|DAY 변환형 데이터 타입을 변환한다 (CAST, TO_NUMBER, TO_CHAR, ..
2-1-2. SELECT 문
1. SELECT - 입력한 자료들을 조회하는 SQL 문 더보기 SELECT [ALL/DISTINCT] 출력 대상 칼럼명, 출력 대상 칼럼명, ... FROM 출력 대상 칼럼들이 있는 테이블명; - ALL: Default 옵션으로, 중복된 데이터가 있어도 모두 출력한다. - DISTINCT: 중복된 데이터가 있을 경우 1건으로 처리하여 출력한다. 아래 예시를 보자. SELECT P_ID, P_NAME, TEAM, POS, HEIGHT, WEIGHT, BACK_NO FROM PLAYER; PLAYER 테이블에서 원하는 정보가 담긴 컬럼을 조회하는 SQL문이다. 이때, 해당 테이블의 '모든 칼럼' 정보를 보고 싶다면, 애스터리스트(*)를 사용하면 된다. SELECT * FROM PLAYER; - 출력 결과에..
2-1-1. 관계형 데이터베이스 개요
1. 데이터베이스 - 더 효율적인 데이터 관리 뿐 아니라, 예기치 못한 사건으로 인한 데이터 손상을 피하고, 필요한 데이터를 복구하기 위한 강력한 기능을 지원하는 시스템을 DBMS(Database Management System)라고 한다. 데이터베이스의 발전 1960년대 플로우차트 중심의 개발 방법을 사용, 파일 구조로 데이터를 저장 및 관리했다. 1970년대 계층형 데이터베이스, 망형 데이터베이스 같은 제품들이 상용화되기 시작함 1980년대 현재 대부분 기업에서 사용하는 Oracle, Sybase, DB2와 같은 제품이 사용됐다. 1990년대 Oracle, Sybase, DB2, Informix, Teradata, SQL Server 외 다양한 제품이 더 향상된 기능으로 발전함. 인터넷 환경의 급속한..