4절 서브 쿼리서브쿼리하나의 SQL문 안의 SQL문메인쿼리 내에서 실행되며, 메인쿼리의 데이터 필터링, 값 제공, 존재 여부 확인등의 역할사용 위치WHERE 절의 조건FROM 절의 인라인뷰SELECT 절에서 특정 값을 선 계산서브쿼리의 분류동작 방식에 따른 분류비연관 서브쿼리SELECT emp_id name, salary FROM Employee WHERE salary = (SELECT MAX(salary) FROM Employee);메인쿼리 칼럼을 가지고 있지 않는 서브쿼리서브쿼리가 먼저 실행되며, 그 결과는 메인쿼리와 독립적메인쿼리에 값을 제공하기 위한 목적으로 주로 사용함Access Subquery: 제공자 역할Filter Subquery: 확인자 역할Early Filter Subquery: 데이터..
3절 계층형 질의와 셀프 조인 계층형 질의계층형 (Hierarchical) 데이터를 조회하기 위해 사용한 테이블에서 부모-자식 관계를 가지는 데이터를 재귀적으로 조회 계층형 데이터트리(tree) 구조를 가지는 데이터로, 엔터티가 자기자신과 순환(recursive)관계를 가짐ex) 직원과 상사의 관계CREATE TABLE Employees ( emp_id INT PRIMARY KEY, -- 직원 ID name VARCHAR(50), -- 직원 이름 manager_id INT NULL -- 상사의 ID (자기 자신을 가리킬 수 있음));CONNECT BY SELECT LEL, LPAD(' ', LEVEL * 2) || name, CONNECT_BY..
2절 집합연산자집합 연산자조인 없이 여러 테이블의 관련 데이터를 조회하는 연산자(SQL 결과를 결합)연산을 수행하는 두 테이블은 같은 컬럼 개수와 데이터만 가능해야 함데이터 타입의 암시적 변환이 가능한 경우나, NULL을 사용하면 컬럼 갯수나 데이터가 달라도 가능 UNIONSELECT 컬럼명 FROM 테이블명 A WHERE 조건절UNIONSELECT 컬럼명 FROM 테이블명 B WHERE 조건절;두개의 SELECT 행에서 모든 데이터를 반환하는 합집합자동으로 중복을 제거하며, 결과가 오름차순으로 자동 정렬됨UNION ALLSELECT 컬럼명 FROM 테이블명 A WHERE 조건절UNION ALLSELECT 컬럼명 FROM 테이블명 B WHERE 조건절;중복된 행도 전부 출력하는 합집합으로, 자동 정렬하지..
1절 표준 조인표준 조인(standard join)SQL에서 여러 테이블을 결합하여 데이터를 조회하는 방법ANSI/ISO 표준INNER JOINNATURAL JOINCROSS JOINOUTER JOININNER JOIN-- 기본 INNER JOINSELECT 컬럼[, 컬럼...] FROM 테이블1 A, 테이블2 B WHERE A.컬럼 = B.컬럼;-- ANSI/ISO 표준SELECT 컬럼[, 컬럼...] FROM 테이블1 A [INNER] JOIN 테이블2 B ON (A.컬럼 = B.컬럼); -- USINGSELECT 컬럼[, 컬럼...] FROM 테이블1 A JOIN 테이블2 B USING(컬럼명);두 테이블에서 조건에 일치하는 데이터를 반환하는 방식으로, 등가 조인 / 비등가 조인 모두 가능JO..
9절 JOINJOIN여러 테이블을 연결 또는 결합하여, 데이터를 출력하는 것일반적으로 PK 혹은 FK의 연관성에 의해 성립 등가 조인SELECT 칼럼명 FROM 테이블1 A, 테이블2 B WHERE A.칼럼명=B.칼럼명; 두 테이블의 칼럼 값이 정확하게 일치하는 경우, 대부분 PK와 FK 관계를 기본으로 함컬럼들은 A.컬럼명, B.컬럼명 등으로 나타낼 수 있음비등가 조인두 테이블의 컬럼 값이 정확히 일치하지 않는 경우 사용하며 , BETWEEN 등의 비교연산자 사용SELECT 컬럼명 FROM 테이블1 A, 테이블2 B WHERE A.컬럼명 연산자 B.컬럼명; 최종 수정일 : 2025/03/07틀린 사항이 있다면 댓글로 알려주시면 감사하겠습니다.
8절 ORDER BYORDER BY 절SELECT [DISTINCT] 컬럼명 [AS 별칭] FROM 테이블명 WHERE 조건식 GROUP BY 컬럼명/표현식 HAVING 그룹의 조건식 ORDER BY 컬럼명 [ASC/DESC];특정 컬럼을 기준으로 결과를 정렬하기 위해 사용하는 SQL 구문기본 옵션을 명시하지 않으면 오름차순(ASC), 내림차순은 DESCORDER BY의 컬럼명에는 아래를 사용가능컬럼 SELECT 절에 없어도 정렬 가능 단, GROUP BY 구문이 있다면 GROUP BY에 포함된 컬럼이나 집계함수만 정렬 가능별칭SELECT 절의 컬럼순서(1,2,3..)NULL 처리--OracleORDER BY 컬럼명 NULLS [FIRST | LAST];Oracle은 NULL을 최대값, SQL Serve..
7절 GROUP BY , HAVING집계함수 (Aggregate Function)여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수GROUP BY 절은 행들을 소그룹화SELECT 절, HAVING 절, ORDER BY 절에 사용집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행집계 함수는 WHERE 절에는 올 수 없음 (GROUP BY 절보다 WHERE 절이 먼저 수행)집계함수명( ALL | DISTINCT 칼럼/표현식 ) -- Default = ALL 주로 숫자 유형에 사용하며 MAX, MIN, COUNT 함수는 문자, 날짜에도 적용 가능벤더별로 기타 다양한 통계 함수를 제공COUNT(*) : NULL 값을 포함한 모든 행의 수를 출력COUNT(표현식) : NULL 값인 것을..
6절 함수함수 (Function)SQL을 더욱 강력하게 해주고 데이터 값을 간편하게 조작하는데 사용입력값이 아무리 많아도 출력값은 하나라는 M:1 관계라는 중요한 특징핵심적인 기능들은 이름/표기법이 벤더별로 다르지만, 기능은 비슷함함수는 다양한 기준으로 분류 가능벤더에서 제공하는 함수인 내장 함수 (Built-In Function)사용자가 정의할 수 있는 함수 (User Defined Function)내장함수 (Built-In Function)내장함수는 함수의 입력 값에 따라 단일행 함수와 다중행 함수로 나뉨단일행 함수 : 단일행 내에 있는 하나의 값 또는 여러 값이 입력 인수로 사용다중행 함수 : 여러 레코드의 값들을 입력 인수로 사용 단일행 함수Oracle 함수 / SQL Server 함수로 표시 문..
- Total
- Today
- Yesterday
- 입출력
- 배열
- Java
- dialect
- Scanner
- 데이터베이스
- db오브젝트
- SQL
- DBMS
- oracle
- 레코드
- 알고리즘
- 필드
- APS
- StringBuilder
- 자료구조
- DB
- 테이블
- BufferedReader
- db의 역사
- BufferedWriter
- SQL이란
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |