Database

오라클 다중 행 서브쿼리 복수 행 서브쿼리라고도 한다. 서브쿼리의 조회 결과가 2건 이상 출력되는 서브쿼리 다중 행 전용 연산자만 사용 가능하다 =, !=, 등의 단일 행 연산자는 사용할 수 없다. 스칼라 서브쿼리로 사용할 수 없다. 다중 행 서브쿼리 전용 연산자 IN 단일 행 연산자로 사용될 때랑 같다. 동등비교(=)를 위해 사용한다. 서브쿼리의 결과 중 하나라도 같은 값이 있으면 조회된다. ANY (== SOME) 비교컬럼이 서브쿼리의 결과 중 어떤 값이라도 조건에 만족하면 조회된다. OR 의 동작과 비슷하다. ALL 비교컬럼이 서브쿼리 결과의 모든 값에 만족하면 조회된다. AND 의 동작과 비슷하다. EXISTS 서브쿼리와 메인쿼리를 비교하여 서브쿼리로 조회되는 결과값으로 존재하는 행이라면 메인쿼리..
ERD, Entity Relationship Diagram Entity : 개체, 테이블 Relation : 관계, 테이블간의 관계(PK - FK) 무료 ERD 웹 툴 AQueryTool
서브쿼리, SubQuery SQL 구문 안에 포함된 또 다른 SQL 구문 메인쿼리와 서브쿼리(내부쿼리)로 지칭한다. 서브쿼리는 ( ) 괄호로 묶어서 표현한다. 서브쿼리의 종류 - 적용하는 위치에 따른 분류 스칼라 서브쿼리 SELECT 절에서 컬럼 대신 사용되는 서브쿼리 인라인 뷰 FROM 절에서 조회 대상으로 사용되는 서브쿼리 서브쿼리 주로 WHERE 절에서 사용되는 서브쿼리 서브쿼리의 종류 - 서브쿼리 수행 결과의 형태에 따른 분류 단일 행 서브쿼리 조회 결과가 하나의 행으로 나오는 것 다중 행 서브쿼리 조회 결과가 여러개의 행으로 나오는 것 다중 열 서브쿼리 조회 결과가 여러 컬럼(행이 아닌 열) 으로 나오는 것 조회 조건을 조건절로 사용할 때 비교컬럼을( ) 으로 묶어서 표현한다. EX) WHERE..
rownum 조회되는 결과에 행 번호를 붙이는 키워드 SELECT ROWNUM, EMPNO, ENAME FROM EMP; -- 전체 보기 SELECT ROWNUM, EMP.* FROM EMP; ROWNUM 을 이용한 Top-N 분석 SELECT * FROM ( SELECT ROWNUM rnum, TMP.* FROM ( SELECT * FROM 테이블명 -- 조회하려는 대상지정 ORDER BY 컬럼명 -- 정렬기준 설정 ) TMP ) R WHERE RNUM BETWEEN 1 AND 4; -- 바쁘다 바빠 현대 사회~! SELECT * FROM ( SELECT ROWNUM rnum, E.* FROM ( SELECT * FROM emp ORDER BY hiredate ASC) E ) WHERE rnum BET..
조인의 종류 순서는 Oracle 문법 - ANSI 문법 - Oracle 문법 - ANSI 문법 EQUI JOIN, 등가 조인 오라클 전용 구문 조인의 기본이 되며, FROM절에 조인 대상 테이블들을 ','(COMMA)로 나열한다. 조인 대상 테이블들의 공통데이터를 가지는 컬럼을 이용해 조인한다(WHERE 조건 = 조건) 조인 컬럼이 같은 값을 가질 때 조회될 수 있도록 WHERE 절에서 조인 조건을 적용한다. 가장 많이 사용되는 구문 형식이다. ANSI 표준 INNER JOIN, 내부 조인 EQUI JOIN과 같은 결과를 얻는다. 구문 형식 FROM 기본테이블 INNER JOIN 조인테이블 ON 조인조건절 INNER JOIN 키워드에서 INNER를 생략하고 JOIN만 사용해도 된다. NON - EQUI ..
그룹 함수, Group Function 복수 행 함수 테이블의 여러 행들의 데이터를 그룹화하여 하나의 결과로 도출하는 함수 주로 테이블 데이터의 통계처리를 수행한다. COUNT 데이터를 가지고 있는 행 수를 반환 NULL 값은 무시한다. NULL 값을 가지는 컬럼은 전체 행 수에 포함되지 않는다. SUM 합계 AVG 평균 MAX 최대, 최고 값 MIN 최소, 최저 값 GROUP BY 절 데이터(행) 들을 원하는 기준으로 그룹화할 때 사용하는 절 그룹함수를 사용할 때 적용한다 컬럼을 기준으로 같은 값을 가지고 있는 행끼리 그룹화 한다. 구문 형식 GROUP BY 컬럼명1, 컬럼명2.. SELECT 절에서 그룹 함수 외의 다른 컬럼을 같이 조회하려면 GROUP BY 절에 그룹 함수를 제외한 모든 컬럼을 넣어..
to_number SELECT '123.67' "THIS IS CHAR", TO_NUMBER('123.67') "THIS IS CHAR -> NUMBER", TO_NUMBER('123.67', '99999.99') "형식을 지정", --to_number('123.67', '99999.9') "소숫점 지정 오류" TO_NUMBER('123.67', '99999.99') "소숫점 지정 신중" FROM DUAL; SELECT 67890 "1", '67890' + 11111 "2", TO_NUMBER('67890') + 11111 "3", --'67,890&#39..
데이터 연결 연산자, || (OR) 두 개의 데이터를 하나의 문자열로 연결하여 표현하는 연산자 자바에서는 '+' 가 이 역할을 수행했었다. 문자 || 문자 문자 || 숫자 문자 || 날짜 오라클 SQL에서 문자열은 ' '으로 감싸서 표현한다. SELECT ename job AS EMPLOYEE FROM emp; -- 위의 코드로 실행하면 ename과 job이 공백 없이 출력되기 때문에 가독성에 좋지 않다. SELECT ename || ' is ' || job AS EMPLOYEE FROM emp; -- 그래서 || || 의 사이에 문자열을 추가해준다. -- SMITH's job is CLERK 라는 형식으로 출력해주려면 SELECT ename || &#3..
오라클 내장 함수, SQL Functions 오라클 DB에 포함된 Built-in 함수들 오라클 SQL API Functions 단일 행 함수, Single Row Functions 조회되는 행 하나 하나의 요소에 함수, 수행결과가 적용 된다. 그룹 함수, Group Functions (복수 행 함수) 행들의 조회 결과를 그룹지어진 여러개의 요소에 함수, 결과가 적용 된다. 문자 함수, Character Function length - 문자에 사용한다, 문자열의 길이를 알려주는 함수 lengthB - 문자열의 길이를 반환하는데, Byte 크기로 반환한다. COUNT(*) - 그룹함수이며, 행의 갯수를 알려준다. DUAL 테이블 - DBA가 소유하고 있으며 연산에 사용한다. 기본으로 들어가 있다. 오라클에..
ORDER BY SELECT 쿼리 결과를 정렬하기 위한 구문 정렬을 하기 위한 구문 WHERE 절 다음에 위치한다. SELECT * FROM emp ORDER BY EMPNO; ORDER BY ename ASC; -- 오름차순 정렬 ASC, ASCENDING ORDER BY ename DESC; -- 내림차순 정렬 DESC, DESCENDING ORDER BY 구문 형식 ORDER BY 컬럼명1, 컬럼명2, ...; 컬럼명 뒤에 ASC 또는 DESC 를 추가한다 SELECT * FROM emp ORDER BY deptno ASC, ename ASC, empno DESC; 와 같이 컬럼당 정해주는 것도 가능하다. SELECT empno, ename, comm FROM EMP ORDER BY COMM DES..
DISTINCT 중복데이터를 제거하는 키워드 SELECT 키워드의 짝꿍 SELECT 키워드 바로 뒤에 붙여서 사용한다. SELECT DISTINCT ~
DML SELECT 구문 테이블에 저장된 데이터를 조회할 때 사용하는 명령어 반드시 FROM 절이 뒤에 따라와야 한다. 테이블의 모든 컬럼을 이용해 전체 데이터(행)를 조회한다. EX) SELECT * FROM tablename; EX) SELECT * FROM dept; 지정된 컬럼만 조회한다 EX) SELECT col1, col2 FROM tablename; 지정된 컬럼을 조회하고 정해진 별칭에 맞춰 출력한다. EX) SELECT col1 AS "별칭", col2 AS "별칭" FROM tablename; AS 키워드를 생략하고 띄어쓰기만 구분하면 별칭이 된다. EX) SELECT col1 "별칭", col2 "별칭" FROM tablename; FROM 절 조회 대상을 지정하는 절 테이블 TABLE..
SQL, Structured Query Language 구조적 질의 언어 데이터베이스의 자료에 대한 검색(조회), 관리, DB생성, DB수정, DBMS객체 관리 등을 수행할 수 있는 언어 주로 CRUD 작업을 수행한다. Create, Read, Update, Delete 스크립트 언어 : 명령어 문장을 읽으면서 곧바로 동작하는 언어 SQL의 용도에 따른 분류 DML Data Manipulation Language Manipulation - 조작하다 데이터 조작어 테이블의 데이터를 조작(CRUD, 조회, 삽입, 변경, 삭제) 하는 명령어 데이터를 처리할 때 사용하는 SQL SELECT, INSERT, UPDATE, DELETE DDL Data Definition Language 데이터 정의어 데이터베이스의..
테이블, Table DB 내에서 실제 데이터를 관리, 저장하는 단위(객체) 표 형식을 가진다. 행(row)과 열(column)로 이루어져있다. 데이터는 행(row) 단위로 처리한다. 테이블은 소유자(owner)를 가지고 있다. 소유자(Owner) - 데이터를 관리하는 데이터의 주인 즉, 해당 객체를 생성한 사용자 계정 ex) scott.dept -> scott 이라는 Owner가 생성한 Dept 테이블 소유자는 자신의 테이블에 대한 모든 권한을 가지고 있다. 테이블에 대한 관리 권한을 다른 계정에 부여하면 해당 계정도 테이블에 대한 관리가 가능하다 DBA(Database Administrator, 관리자 계정)는 권한에 상관없이, 소유자에 상관없이 모든 객체(테이블) 을 관리할 수 있다. 오라클의 기본 ..
오라클 11g R2 Express Edition (https://www.oracle.com)[오라클 홈페이지] DataBase 메뉴에서 Download 선택 -> Database 항목 선택 ('Download -> Customer Downloads -> DataBase -> 11g Release 2') Oracle Database 11g R2 Express 제일 아래로 내려가 Oracle Database 11g R2 Express Edition for Windows x64 클릭 라이센스 항목 체크하고 동의, 로그인 후 다운로드 시작 설치 완료 후 SQLDeveloper 설치 메뉴에서 Download 선택 -> Database 항목 선택 ('Download -> Customer Dow..
헌일