**> 데이터의 저장 공간, 데이터를 규격에 맞게 여러 사람이 공유하고 운영할 목적으로 저장될 공간.**
DB를 사용하기 위한 모델
계층형
네트워크형
객체 지향형
관계형!! = 가장 많이 사용하고 SQL언어 사용
SQL
○ DDL (Data Definition Language) : 데이터 정의어
-테이블을 생성, 수정, 삭제
-create, alter, drop, rename, truncate
○ DML (Data Manipulation Language) : 데이터 조작어
-insert, update, delete
-테이블 안의 데이터를 입력, 조회, 수정, 삭제 (CRUD)
◆ DQL (Data Query Language) : 데이터 질의어
-select
○ DCL (Data Control Language) : 데이터 제어어
-grant, revoke,
-데이터베이스 접근 권한을 제어하고, 트랜잭션을 관리
◆ TCL (Transaction Control Language) : 트랜잭션 제어어
-commit, rollback
SQL 종류와 정의들 정보통신기사 시험에 꼭나옴!
1일차에는 SQL 활용을 많이해봤다.
그 중에 SELECT 는 SQL 중에 가장 중요하다
SELECT 는 테이블을 조회하기 위한 명령어
(조회하기 위해선 처음에 무조건 써준다)
책번호(bookid), 책이름(bookname), 출판사(publisher), 가격(price)
--1) 책이름, 가격의 모든 값을 조회
SELECT bookname, price
FROM book;
--2) 가격이 10,000원 이상인 책이름과 가격을 조회
SELECT bookname, price
FROM book
WHERE price >= 10000;
--3) 가격이 10,000원 이상 20,000원 이하인 책 번호, 책이름, 출판사 조회
SELECT bookid, bookname, publisher
FROM book
WHERE price between 10000 and 20000;
SELECT bookid, bookname, publisher
FROM book
WHERE price >= 10000 AND price <= 20000;
--4) 가격이 6,000원 이하고 출판사가 ‘굿스포츠’인 책이름, 출판사, 가격 조회
SELECT bookname, publisher, price
FROM book
WHERE price <= 6000
AND publisher = '굿스포츠';
--5) 출판사에 ‘미디어’가 들어간 책이름을 조회
SELECT bookname
FROM book
WHERE publisher LIKE '%미디어%';
--6) 축구 관련된 책이름, 출판사, 가격 조회 (힌트 ‘축구’ 단어)
SELECT bookname, publisher, price
FROM book
WHERE bookname LIKE '%축구%';
--7) 가격이 10,000원 미만인 책의 가격을 1,000원 인상하여 모든 컬럼 조회 (1,000원 인상된 가격의 컬
럼명은 ‘가격 증가’ 로 출력)
SELECT bookid, bookname, publisher, price + 1000 as "가격 증가"
FROM book
WHERE price <= 10000;
--8) 가격이 20,000원 이상인 책의 가격을 10% 할인하여 가격 값 조회 (할인된 금액 컬럼명은 ’10%할인’
으로 출력)
SELECT bookid, bookname, publisher, price - (price*0.1) as "10%할인"
FROM book
WHERE price >= 20000;
--9) 축구 관련된 책 중에 출판사가 ‘나무수’인 책 모든 컬럼 조회
SELECT *
FROM book
WHERE bookname LIKE '%축구%'
AND publisher = '나무수';
--10) 출판사가 ‘굿스포츠’, ‘이상미디어’인 모든 컬럼 조회
SELECT *
FROM book
WHERE publisher IN ('굿스포츠','이상미디어');
SELECT *
FROM book
WHERE publisher = '굿스포츠'
OR publisher = '이상미디어';
--11) 모든 출판사 이름을 조회(중복제거)
SELECT DISTINCT publisher
FROM book;
--12) 출판사가 ‘대한미디어’, ‘이상미디어’인 책들을 가격이 높은 순으로 정렬하여 조회
SELECT *
FROM book
WHERE publisher IN ( '대한미디어','이상미디어' )
ORDER BY price DESC;
--13) 책 이름으로 오름차순 정렬하여 모든 컬럼 조회
SELECT *
FROM book
ORDER BY bookname ASC;
--1) EMP 테이블에서 전체 사원의 empno, ename, sal, deptno 값을 출력
SELECT empno, ename, sal, deptno
FROM emp;
--2) EMP 테이블에서 전체 사원의 job, ename, hiredate 값을 출력
SELECT job, ename, hiredate
FROM emp;
--3) EMP 테이블에서 empno가 7566번 사원의 모든 컬럼을 출력
SELECT *
FROM emp
WHERE empno = 7566;
--4) EMP 테이블에서 empno가 7902번 사원의 sal 값만 출력
SELECT sal
FROM emp
WHERE empno = 7902;
--5) DEPT 테이블에서 dname이 'SALES'인 모든 컬럼을 출력
SELECT *
FROM dept
WHERE dname = 'SALES';
--6) DEPT 테이블에서 loc가 ‘DALLAS’인 deptno, dname 값 출력
SELECT deptno, dname
FROM dept
WHERE loc = 'DALLAS';
--7) SALGRADE 테이블에서 GRADE값이 3이상인 모든 컬럼 출력
SELECT *
FROM SALGRADE
WHERE GRADE >= 3;