1일차

고규빈·2021년 12월 13일
0

데이터베이스(DB)

**> 데이터의 저장 공간, 데이터를 규격에 맞게 여러 사람이 공유하고 운영할 목적으로 저장될 공간.**
  • 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 는 테이블을 조회하기 위한 명령어
(조회하기 위해선 처음에 무조건 써준다)

  • TIP
    SQL 8GB이하 컴퓨터에 깔면 너무느리다..
    SQL plus 많이사용. (무료)
    cmd로 써도 되는데 developer로 쓰면 편하고 보기좋다.

오늘의 예제

책번호(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;

profile
안녕하세요

0개의 댓글