[DataBase] 1장_실습 및 이론 정리

존진·2023년 10월 17일
0

📌 테이블 리스트 출력

SELECT *
FROM emp, dept;

📌 테이블 구조 출력

DESC dept;

[🔎] 한 화면에 테이블 구조 깔끔하게 보는 방법

ex) SET PAGESIZE 15
    SET LINESIZE 200
    SELECT *
    FROM  emp;

📌 중복된 데이터 없이 출력

DISTINCT 컬럼명

SELECT DISTINCT deptno
FROM emp;

📌 컬럼 별칭 출력

AS "별칭"

SELECT ename AS "이름"
FROM emp;
----------------------
SELECT ename "이름"
FROM emp;

두 가지 방법 모두 사용 가능함

📌 데이터 정렬

Q. 사원 테이블에서 사원 이름, 월급과 커미션, 월급과 커미션을 더한 값을 출력하는데 컬럼 명을 '실급여'라고 하고 총액이 많은 순서로 출력 (단, 커미션이 0이거나 NULL 인 사람 제외)

✅ DESC(내림차순)

SELECT ename, sal, comm, (sal+comm) "실급여"
FROM emp
WHERE comm IS NOT NULL OR comm !=0
ORDER BY sal+comm DESC;

⬇️ 총액이 적은 순서로 출력

✅ ASC(오름차순)

SELECT ename, sal, comm, (sal+comm) "실급여"
FROM emp
WHERE comm IS NOT NULL OR comm !=0
ORDER BY sal+comm ASC(생략가능);

❓ IS NOT NULL / IS NULL

  • IS NOT NULL: NULL이 아닌 값을 검색
  • IS NULL: NULL 값을 검색

📌 연산자

✅ BETWEEN a AND b

Q. 사원 테이블에서 월급이 1500에서 3000 사이인 사원의 사원 번호, 이름, 월급 출력

SELECT empno, ename, sal
FROM emp
WHERE sal>=1500 AND sal<=3000;
-----------------------------------------------------------
SELECT empno, ename, sal
FROM emp
WHERE sal between 1500 AND 3000;

문자나 날짜도 조회 가능함

✅ IN(a,b)

Q. 사원 테이블에서 사원번호가 7499 또는 7521 또는 7654인 사원의 사원번호, 이름, 월급을 출력

SELECT empno, ename, sal
FROM emp
WHERE empno = '7499' OR empno = '7521' OR empno = '7654';
-----------------------------------------------------------
SELECT empno, ename, sal
FROM emp
WHERE empno IN('7499', '7521', '7654');

여러 조건을 간편하게 검색할 수 있음

✅ LIKE

Q. 이름의 첫 글자가 A인 사원 이름 출력

SELECT ename
FROM emp
WHERE ename LIKE 'A%';

📌 집합 연산자(Union, Minus)

✅ Union

Q. 20번 부서와 30번 부서에 속한 사원의 이름을 모두 출력20번 부서와 30번 부서에 속한 사원의 이름을 모두 출력

SELECT ename
FROM emp
WHERE deptno='20'
UNION
(SELECT ename
FROM emp
WHERE deptno='10');

✅ Minus

Q. 20번 부서에 속한 사원의 이름을 출력하되 월급이 1000 이하인 사람들을 제외 후 출력

SELECT ename
FROM emp
WHERE deptno='20'
MINUS
(SELECT ename
FROM emp
WHERE sal<=1000);

월급이 1000 이하인 사람들을 뽑아낸 후 제외시킴

📌 홑따옴표

Q. 사원의 이름과 월급을 다음과 같이 출력

SALARY
SMITH's salary is 800
ALLEN's salary is 1600
:

SELECT ename||'''s salary is '||sal "SALARY"
FROM emp;

⚠️ 표현식 안의 홑따옴표는 주의하도록 함

2개의 댓글

comment-user-thumbnail
2023년 10월 17일

글 너무 멋져요~👍

1개의 답글