DBMS/SQL
[SQL] Sub Query 서브 쿼리
Sub Query 서브 쿼리 란? 1. 서브쿼리는 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL문을 말한다. 2. 서브쿼리는 괄호로 감싸서 사용하는 쿼리를 말한다. 3. 주로 함수를 사용한 테이블의 결과를 사용하여 테이블을 연결시켜야 하는 경우 사용 1 2 3 4 --서브쿼리 SELECT qna_idx FROM project9.tbl_qna WHERE qna_idx = (SELECT qna_idx FROM project9.tbl_qna_reply WHERE reply_idx = 34) cs INNER JOIN 생략하기 1. FORM에 연결할 두 테이블을 작성한다. 2. JOIN의 ON대신 WHERE에 두 테이블의 공통 컬럼을 작성해 준다. 3. 간단한 쿼리의 경우 위의 쿼리와 비교하여 짧고 간단하..

[SQL] SELF JOIN
SELF - JOIN SELF - JOIN(셀프 조인)은 명령어가 따로 있는 것이 아니라 동일한 테이블을 연결시키는 경우를 말한다. 1 2 3 4 SELECT worker.employee_id, worker.last_name, worker.salary, manager.employee_id, manager.last_name, manager.salary FROM employees worker JOIN employees manager ON worker.manager_id = manager.employee_id; cs

[SQL] JOIN 연결 (INNER, OUTER, LEFT, RIGHT, )
JOIN 이란 1. 여러 테이블의 데이터를 하나의 구문으로 조회하는 문법 2. JOIN문법을 통해서 데이터를 연결해 조회하는데 필요한 요소는 두 가지 연결할 테이블 명 → FROM , JOIN 절 연결할 조건 → ON절 1 2 3 4 5 6 7 SELECT employee_id, last_name, emp.department_id, department_name FROM employees emp JOIN departments dept ON emp.department_id = dept.department_id; cs INNER JOIN - 교집합 교집합을 나타낸다. 따라서 겹치지 않는 행이 존재할 경우, 그 행은 결과에서 제외된다. 1 2 3 4 SELECT Sales.*, Countries.Country ..

[SQL] GROUP BY 집합, HAVING 조건
GROUP BY 란? 1. 테이블의 데이터를 특정 컬럼을 기준으로 동일한 값을 가진 행끼리 그룹으로 묶어 단위를 생성 2. GROUP BY절에 여러 컬럼이 오는 경우 해당 컬럼의 모든 값이 일치한 경우 동일한 그룹으로 묶어서 그룹을 만들게 된다. 3. GROUP BY절에 사용된 컬럼은 무조건 SELECT절에 사용할 필요는 없다. GROUP BY절을 사용한 경우 SELECT절에는 그룹함수와 GROUP BY절의 기준 컬럼만 작성이 가능해진다. 1 2 3 4 5 SELECT department_id, job_id, SUM(salary), COUNT(*) FROM employees WHERE department_id > 40 GROUP BY department_id, job_id ORDER BY departme..
[SQL] ORDER BY 정렬
ORDER BY 1. 결과를 사용자 원하는 컬럼을 기준으로 정렬하여 출력할 수 있는 옵션절 2. ORDER BY 기준컬럼|컬럼앨리어스|컬럼의순서 [ASC|DESC] 숫자 문자 날짜 오름차순(사전순) 작은값 → 큰값 0 → 9 'A' → 'Z' 이전 → 이후 내림차순 큰값 → 작은값 9 → 0 'Z' → 'A' 이후 → 이전 1. DESC 내림차순 1 2 3 SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date DESC; cs 2.ASC 오름차순 정렬방식을 생략한 경우 기본으로 오름차순이 적용된다. 1 2 3 SELECT last_name, job_id, department_id, hire_date FROM ..
[SQL] 3.WHERE 조건 절, IS NULL, IS NOT NULL, NOT, AND/OR
1. IS NULL / IS NOT NULL 1. 컬럼의 값이 NULL이거나 값이 있는 행을 출력하는 연산자 2. NULL의 값은 직접적인 값의 비교를 할 수 없는 데이터로 비교 연산자로는 연산이 불가능하다. 1 2 3 SELECT last_name, manager_id FROM employees WHERE manager_id IS NULL; cs 1 2 3 SELECT last_name, manager_id FROM employees WHERE manager_id IS NOT NULL; cs 2. NOT 1. WHERE절의 조건식을 만족하는 값을 가진 행은 TRUE로 결과로 출력되고, 만족하지 못하는 값을 가진 행은 FALSE로 결과로 출력되지 않는다. 2. 이 때, NOT 연산자는 이 TRUE, FA..
[SQL] 2.WHERE 조건 절, BETWEEN, IN, LIKE
1. BETWEEN A AND B 1. 구간을 설정하여 구간 사이에 해당하는 값을 가지는 행들을 출력한다. 2. A : 구간의 최솟값 B : 구간의 최댓값 3. 경계값의 조건값들은 결과에 포함된다. 1 2 3 SELECT last_name, salary FROM employees WHERE salary BETWEEN 3500 AND 2500; cs 2. IN 비교 연산자 중 '='과 동일한 연산을 하나 조건값을 여러 개로 설정할 수 있다. 1 2 3 SELECT employee_id, last_name, salary, manager_id FROM employees WHERE manager_id IN (100, 101, 201); cs 3. LIKE 1. 패턴문자를 활용하여 패턴과 일치한 값을 가진 행을 ..
[SQL] 1.WHERE 조건 절 숫자, 문자, 날짜 비교
출력을 원하는 행을 선택할 수 있는 조건절 WHERE 조건컬럼 연산자 조건값 1. 숫자 비교 비교 연산자 조건 컬럼과 조건값을 비교하여 결과가 참인 행을 출력하는 연산자 연산자 의미 = 같음 != 같지 않다. > 크다(초과) = 크거나 같다(이상)

[SQL]DML - INSERT, SELECT, UPDQTE, DELETE CRUD
CRUD(Create, Read, Update, Delete) 이란? 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로써도 사용된다. 이름 조작 SQL Create 생성 INSERT Read 읽기 SELECT Update 갱신 UPDATE Delete 삭제 DELETE 1. INSERT 1 2 3 4 5 INSERT INTO 테이블명 [(컬럼명1 [, 컬럼명2, …])] VALUES (입력값1 [, 입력값2, …]); INSERT INTO class7 (subject, book, duration) VALUES ('JAVA', 'JAVA ref..
[SQL]DDL - CREATE, ALTER, DROP, DESC
1. CREATE 생성 DataBase 생성 1 2 3 CREATE DATABASE 명; CREATE DATABASE test; cs Table 생성 시 필수로 필요한 요소 : 테이블명, 컬럼명, 데이터 타입(숫자, 문자, 날짜, …), 크기 1 2 3 4 5 6 7 8 9 10 CREATE TABLE 테이블명 ( 컬럼명1 데이터타입1(크기1) [, 컬럼명2 데이터타입2(크기2), …] ); CREATE TABLE class7 ( subject VARCHAR(30), book CHAR(40), duration INT ); cs 2. ALTER 수정 ADD키워드의 요소로 하나의 컬럼 정의를 다 작성한다. 1 2 3 4 5 ALTER TABLE 테이블명 ADD 컬럼명 데이터타입(크기); ALTER TABLE..