일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 블록체인강의
- national instruments
- Node
- 자바입력받기
- 오블완
- StringBuilder
- 시스템프로그래밍
- K-MOOC
- 컴파일시스템
- 딥러닝
- 2차원배열정렬
- K-MOOC 단국대학교 홍보단
- html기초
- 자바스크립트
- StringTokenizer
- 티스토리챌린지
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 자바문자열구분
- attribute
- 해시
- 디스크블록할당
- 단국대학교 k-mooc
- 블록체인
- 블록체인 강의
- biginteger사용법
- CSS 기초
- stringreader
- 머신러닝
- 우선순위큐
- Entity
- Today
- Total
열정 실천
004. SQL - DML 데이터 조작어 SELECT, INSERT, DELETE, UPDATE 본문
DDL (Data Define Language)
DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정하는데 사용하는 언어
DML (Data Manipulation Language)
저장된 데이터를 실직적으로 관리하는데 사용하는 언어
DCL (Data Control Language)
데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용하는 언어
> DML 유형
SELECT | 테이블에서 튜플을 검색함 |
INSERT | 테이블에 새로운 튜플을 삽입함 |
DELETE | 테이블에서 튜플을 삭제함 |
UPDATE | 테이블에서 튜플의 내용을 갱신함 |
DDL로 만든 EMPLOYEE 테이블 >>
INSERT 문
튜플 삽입
Syntax
INSERT INTO 테이블명
VALUES ( ... , ... , .... );
INSERT INTO EMPLOYEE
VALUES ('James','E','Borg',888665555,'1937-11-10','450 Stone, Houston TX','M',55000,null,1),
('Franklin','T','Wong',333445555,'1965-12-08','638 Voss, Houston TX','M',40000,888665555,5),
('John','B','Smith',123456789,'1965-01-09','731 Fondren, Houston TX','M',30000,333445555,5),
('Ramesh','K','Narayan',666884444,'1962-09-15','975 Fire Oak, Humble TX','M',38000,333445555,5),
('Jennifer','S','Wallace',987654321,'1941-06-20','291 Berry, Bellaire TX','F',43000,888665555,4),
('Joyce','A','English',453453453,'1972-07-31','5631 Rice, Houston TX','F',25000,333445555,5),
('Alicia','J','Zelaya',999887777,'1968-01-19','3321 Castle, Spring TX','F',25000,987654321,4),
('Ahmad','V','Jabbar',987987987,'1969-03-29','980 Dallas, Houston TX','M',25000,987654321,4);
SELECT 문
튜플 검색
Syntax
SELECT [DISTINCT] 속성 명, 속성 명, ...
FROM 테이블 명
WHERE 조건
[ GROUP BY 속성 명 ]
[ HAVING 조건 ]
[ ORDER BY 속성 명 [ ASC | DESC] ]
💚 비교 연산 💚
= | 같다. |
<> | 같지 않다. |
> | 크다. |
>= | 크거나 같다. |
< | 작다. |
<= | 작거나 같다. |
BETWEEN ... AND ... | 두 값 사이 |
NOT BETWEEN ... AND ... | 두 값 사이가 아님 |
IN ( ... , ...) | 괄호 안 값들 중 일치하는게 있음 |
NOT IN( ...) | 괄호 안 값 중 없음 |
LIKE | 대표 문자를 이용해 문자 패턴과 일치하는지 % : 모든 문자 대신 _ : 문자 하나 대신 # : 숫자 하나 대신 |
IS NULL | NULL |
IS NOT NULL | NULL 아님 |
⭕ 테이블의 모든 데이터 출력하기
SELECT * FROM EMPLOYEE;
⭕ DISTINT - 중복 제거
WHERE 조건
⭕ 원하는 속성만 골라서 검색하기
모든 사원의 이름, 연봉, 부서번호를 조회
SELECT Fname, Salary, Dno FROM EMPLOYEE;
⭕ =
부서번호(Dno)가 4인 사원의 부서번호, 이름, 직무번호를 조회
SELECT Dno, Fname, Ssn FROM EMPLOYEE WHERE Dno=4;
⭕ <>
SELECT Fname, Minit FROM EMPLOYEE WHERE Minit <> 'B';
⭕ <
SELECT Fname, Salary, Bdate FROM EMPLOYEE WHERE Bdate <'1972-07-31';
⭕ BETWEEN ... AND
Bdate가 1941-06-20과 1972-07-31사이에 있는 사원의 이름과 Bdate 조회
SELECT Fname, Bdate FROM EMPLOYEE WHERE Bdate BETWEEN '1941-06-20' AND '1972-07-31';
⭕ NOT BETWEEN ... AND ...
급여가 27,000과 40,000 사이에 있지 않은 사원의 이름과 급여 조회
SELECT Fname, Salary FROM EMPLOYEE WHERE Salary NOT BETWEEN 27000 AND 40000;
⭕ IN
Minit이 B또는 A인 사원 이름 조회
SELECT Fname FROM EMPLOYEE WHERE Minit IN('A','B');
⭕ LIKE
Fname이 'J'으로 시작하는 사원 이름 조회
SELECT Fname FROM EMPLOYEE WHERE Fname LIKE 'J%';
입사 날짜가 ' 20 '로 끝나는 사원 이름, Bdate 조회
SELECT Fname, Bdate FROM EMPLOYEE WHERE Bdate LIKE '%20';
사원 이름에 'A'를 포함하는 사원 조회
SELECT Fname FROM EMPLOYEE WHERE Fname LIKE '%A%';
사원 이름이 'J'로 시작해서 ‘S’끝나는 다섯 글자의 사원 이름 조회
SELECT Fname FROM EMPLOYEE WHERE Fname LIKE 'J___S';
두 번째 문자가 ‘L'인 사원의 이름 조회
SELECT Fname FROM EMPLOYEE WHERE Fname LIKE '_L%';
⭕ IS NOT NULL
커미션이 NULL 값인 아닌 사원의 이름, 직무, 커미션조회
SELECT Fname, SUPER_SSN FROM EMPLOYEE WHERE SUPER_SSN IS NOT NULL;
⭕ AND, OR을 이용해 WHERE절에서 여러 조건을 결합하여 테이블 조회
부서 번호가 4이고, 급여가 40,000 보다 큰 사원의 이름, 급여, 부서 번호 조회
SELECT Fname, Salary, Dno FROM EMPLOYEE WHERE Dno=4 AND Salary>40000;
부서 번호가 4이거나, 급여가 30,000보다 큰 사원의 이름, 급여, 부서 번호 조회
SELECT Fname, Salary, Dno FROM EMPLOYEE WHERE Dno=4 OR Salary>30000;
ORDER BY
⭕ ORDER BY 칼럼 명 [ ASC | DESC ]
급여를 기준으로 오름차순
SELECT Fname, Salary FROM EMPLOYEE ORDER BY Salary;
급여를 기준으로 내림차순
SELECT Fname, Salary FROM EMPLOYEE ORDER BY Salary DESC;
급여가 30,000이상인 사원의 이름, 부서 번호, 급여를 조회하고, 부서 번호로 오름차순, 급여로 내림차순하여 정렬
SELECT Fname, Dno, Salary FROM EMPLOYEE WHERE Salary>=30000 ORDER BY Dno, Salary DESC;
UPDATE 문
Syntax
UPDATE 테이블명
SET column = value
[WHERE 조건]
ALEX 사원의 급여를 4000으로 변경
🔻🔻
UPDATE S_EMP
SET sal=4000
WHERE ename='ALEX';
🔻🔻
DELETE 문
Syntax
DELETE FROM 테이블명
[WHERE 조건]
ALEX 사원 삭제
🔻🔻
DELETE FROM S_EMP WHERE ename='ALEX';
🔻🔻
'CS > DATABASE' 카테고리의 다른 글
006. SQL - DCL 데이터 조작어 COMMIT, ROLLBACK, GRANT, REVOKE + SAVEPOINT, ROLE (1) | 2024.09.24 |
---|---|
005. SQL - DML 데이터 조작어 _ 연산 및 SQL함수(산술,문자,집계), GROUP BY (0) | 2024.09.24 |
003. SQL - DDL 데이터 정의어 CREATE, ALTER, DROP (0) | 2024.09.24 |
002. 데이터 베이스 설계 - 개념적 설계 _ E-R 다이어그램 (ERD, EERD) (2) | 2024.09.21 |
001. 데이터베이스 개요 (1) | 2024.09.21 |