SELECT QUESTION
✔ 사원테이블에서 모든 데이터를 출력하라
SELECT *
FROM EMP;
SQL> SELECT *
2 FROM EMP;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- -------------------- ------------------ ----- -------- ----- ----- ------
7369 SMITH CLERK 7902 80/12/17 800 20
7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30
7521 WARD SALESMAN 7698 81/02/22 1250 500 30
7566 JONES MANAGER 7839 81/04/02 2975 20
7654 MARTIN SALESMAN 7698 81/09/28 1250 1400 30
7698 BLAKE MANAGER 7839 81/05/01 2850 30
7782 CLARK MANAGER 7839 81/06/09 2450 10
7839 KING PRESIDENT 81/11/17 5000 10
7844 TURNER SALESMAN 7698 81/09/08 1500 0 30
7900 JAMES CLERK 7698 81/12/03 950 30
7902 FORD ANALYST 7566 81/12/03 3000 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- -------------------- ------------------ ----- -------- ----- ----- ------
7934 MILLER CLERK 7782 82/01/23 1300 10
12 rows selected.
✔ 사원테이블에서 사원번호, 사원이름, 월급을 출력하라
SELECT EMPNO, ENAME, SAL
FROM EMP;
SQL> SELECT EMPNO, ENAME, SAL
2 FROM EMP;
EMPNO ENAME SAL
----- -------------------- -----
7369 SMITH 800
7499 ALLEN 1600
7521 WARD 1250
7566 JONES 2975
7654 MARTIN 1250
7698 BLAKE 2850
7782 CLARK 2450
7839 KING 5000
7844 TURNER 1500
7900 JAMES 950
7902 FORD 3000
EMPNO ENAME SAL
----- -------------------- -----
7934 MILLER 1300
12 rows selected.
✔ 사원테이블에서 월급을 뽑는데 중복된 데이터가 없게 출력하라
SELECT DISTINCT SAL
FROM EMP;
: 칼럼에 대해 모두 중복 제거 할 때 사용
SQL> SELECT DISTINCT SAL
2 FROM EMP;
SAL
-----
2450
5000
1300
1250
2850
2975
3000
800
1600
1500
950
11 rows selected.
SQL>
✔ 사원테이블에서 사원이름과 월급을 출력하는데 각각의 컬럼명을 '이 름', '월 급'으로 바꿔서 출력하라.
(단, ALIAS(별칭)에 공백추가)
SELECT ENAME "이 름" , SAL "월 급"
FROM EMP;
SQL> SELECT ENAME "이 름", SAL "월 급"
2 FROM EMP;
이 름 월 급
-------------------- ------
SMITH 800
ALLEN 1600
WARD 1250
JONES 2975
MARTIN 1250
BLAKE 2850
CLARK 2450
KING 5000
TURNER 1500
JAMES 950
FORD 3000
이 름 월 급
-------------------- ------
MILLER 1300
12 rows selected.
✔ 사원테이블에서 사원이름, 월급을 뽑고, 월급과 커미션을 더한 값을 출력하는데
컬럼명을 '실급여' 이라고 해서 출력하라. (단, NULL값은 나타나지 않게 하라.)
SELECT ENAME, SAL, SAL + NVL(COMM,0) "실급여"
FROM EMP;
: NULL 값인 컬럼에서 0으로 표기할 때 사용 (코드블럭에서는 COMM값 확인하기 위해 추가함)
SQL> SELECT ENAME, SAL, COMM, SAL + NVL(COMM,0) 실급여
2 FROM EMP;
ENAME SAL COMM 실급여
-------------------- ----- ----- ------
SMITH 800 800
ALLEN 1600 300 1900
WARD 1250 500 1750
JONES 2975 2975
MARTIN 1250 1400 2650
BLAKE 2850 2850
CLARK 2450 2450
KING 5000 5000
TURNER 1500 0 1500
JAMES 950 950
FORD 3000 3000
ENAME SAL COMM 실급여
-------------------- ----- ----- ------
MILLER 1300 1300
12 rows selected.
✔ 사원테이블에서 'KING' 이라는 사원의 사원번호, 이름, 월급을 출력하라
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE ENAME = 'SCOTT';
: SELECT, UPDATE, DELETE문 등에서 특정 레코드에 대한 조건을 설정할 때 사용
SQL> SELECT EMPNO, ENAME, SAL
2 FROM EMP
3 WHERE ENAME ='KING';
EMPNO ENAME SAL
----- -------------------- -----
7839 KING 5000
✔ 사원테이블에서 직위가 'SALESMAN'인 사원의 사원번호, 이름, 직위를 출력하라
SELECT EMPNO, ENAME, JOB
FROM EMP
WHERE JOB = 'SALESMAN';
SQL> SELECT EMPNO, ENAME, JOB
2 FROM EMP
3 WHERE JOB = 'SALESMAN';
EMPNO ENAME JOB
----- -------------------- ------------------
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7654 MARTIN SALESMAN
7844 TURNER SALESMAN
✔ 사원테이블에서 사원번호가 7499, 7521, 7654인 사원의 사원번호, 이름, 월급을 출력하라
(1)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE EMPNO IN (7499, 7521, 7654);
: 특정 조건 이거나 , 이거나 OR처럼 사용
(2)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE EMPNO = ANY (7499, 7521, 7654);
: 다수의 비교값 중 한개라도 만족하면 true 이다.
IN과 다른점은 비교 연산자를 사용한다는 점이다.
SQL> SELECT EMPNO, ENAME, SAL
2 FROM EMP
3 WHERE EMPNO IN (7499, 7521, 7654);
EMPNO ENAME SAL
----- -------------------- -----
7499 ALLEN 1600
7521 WARD 1250
7654 MARTIN 1250
SQL> SELECT EMPNO, ENAME, SAL
2 FROM EMP
3 WHERE EMPNO = ANY (7499, 7521, 7654);
EMPNO ENAME SAL
----- -------------------- -----
7499 ALLEN 1600
7521 WARD 1250
7654 MARTIN 1250
✔ 사원테이블에서 월급이 1500에서 3000사이인 사원의 사원번호, 이름, 월급을 출력하라.
(1)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL BETWEEN 1500 AND 3000;
(2)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL >= 1500 AND SAL <= 3000;
SQL> SELECT EMPNO, ENAME, SAL
2 FROM EMP
3 WHERE SAL BETWEEN 1500 AND 3000;
EMPNO ENAME SAL
----- -------------------- -----
7499 ALLEN 1600
7566 JONES 2975
7698 BLAKE 2850
7782 CLARK 2450
7844 TURNER 1500
7902 FORD 3000
6 rows selected.
SQL> SELECT EMPNO, ENAME, SAL
2 FROM EMP
3 WHERE SAL >= 1500 AND SAL <= 3000;
EMPNO ENAME SAL
----- -------------------- -----
7499 ALLEN 1600
7566 JONES 2975
7698 BLAKE 2850
7782 CLARK 2450
7844 TURNER 1500
7902 FORD 3000
6 rows selected.
✔ 사원테이블에서 이름의 첫글자가 A이고 마지막 글자가 R이 아닌 사원의 이름을 출력하라
SELECT ENAME
FROM EMP
WHERE ENAME LIKE 'A%' AND NOT ENAME LIKE '%R';
: 쿼리문 WHERE절에 주로 사용되며 부분적으로 일치하는 칼럼을 찾을때 사용
SQL> SELECT ENAME
2 FROM EMP
3 WHERE ENAME LIKE 'A%' AND NOT ENAME LIKE '%R';
ENAME
--------------------
ALLEN
'|Project' 카테고리의 다른 글
PJT2_DB_cx_Oracle (0) | 2021.08.23 |
---|---|
210521_work shop (2-1) . SQL (0) | 2021.05.23 |
210517_work shop (1) . PYTHON/웹 크롤링 (0) | 2021.05.18 |
PJT1_Web_Crawling (0) | 2021.05.12 |
댓글