728x90
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | -- ๋ฌธ์ 1) EMPLOYEES ํ
์ด๋ธ์์ ๊ธ์ฌ๊ฐ 3000์ด์์ธ ์ฌ์์ ์ฌ์๋ฒํธ, ์ด๋ฆ, ๋ด๋น์
๋ฌด, ๊ธ์ฌ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT employee_id, first_name, job_id, salary FROM employees WHERE salary >= 3000; -- ๋ฌธ์ 2) EMPLOYEES ํ
์ด๋ธ์์ ๋ด๋น ์
๋ฌด๊ฐ ST_MAN์ธ ์ฌ์์ ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT employee_id, first_name, job_id, salary, department_id FROM employees WHERE job_id = 'ST_MAN'; -- ๋ฌธ์ 3) EMPLOYEES ํ
์ด๋ธ์์ ์
์ฌ์ผ์๊ฐ 2006๋
1์ 1์ผ ์ดํ์ ์
์ฌํ ์ฌ์์ ์ ๋ณด๋ฅผ -- ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ์
์ฌ์ผ์, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT employee_id, first_name, job_id, salary, hire_date, department_id FROM employees -- WHERE hire_date > '06/01/01'; WHERE hire_date > TO_DATE('060101', 'YYMMDD'); -- ๋ฌธ์ 4) EMPLOYEES ํ
์ด๋ธ์์ ๊ธ์ฌ๊ฐ 3000์์ 5000์ฌ์ด์ ์ฌ์์ ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT first_name, job_id, salary, department_id FROM employees -- WHERE salary >= 3000 AND salary <= 5000; WHERE salary BETWEEN 3000 AND 5000; -- ๋ฌธ์ 5) EMPLOYEES ํ
์ด๋ธ์์ ์ฌ์๋ฒํธ๊ฐ 145,152,203์ธ ์ฌ์์ ์ ๋ณด๋ฅผ ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ์
์ฌ์ผ์๋ฅผ ์ถ๋ ฅํ๋ผ SELECT employee_id, first_name, job_id, salary, hire_date FROM employees WHERE employee_id IN(145, 152, 203); -- ๋ฌธ์ 6) EMPLOYEES ํ
์ด๋ธ์์ ์
์ฌ์ผ์๊ฐ 05๋
๋์ ์
์ฌํ ์ฌ์์ ์ ๋ณด๋ฅผ ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ์
์ฌ์ผ์, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT employee_id, first_name, job_id, salary, hire_date, department_id FROM employees WHERE hire_date LIKE '05%'; -- ๋ฌธ์ 7) EMPLOYEES ํ
์ด๋ธ์์ ๋ณด๋์ค๊ฐ ์๋ ์ฌ์์ ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ์
์ฌ์ผ์, ๋ณด๋์ค, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT employee_id, first_name, job_id, salary, hire_date, salary * nvl(commission_pct, 0)as comm, department_id FROM employees WHERE commission_pct IS NOT NULL; -- ๋ฌธ์ 8) EMPLOYEES ํ
์ด๋ธ์์ ๊ธ์ฌ๊ฐ 1100์ด์์ด๊ณ JOB์ด ST_MAN์ธ ์ฌ์์ ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ์
์ฌ์ผ์, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ SELECT employee_id, first_name, job_id, salary, hire_date, department_id FROM employees WHERE salary >= 1100 AND job_id = 'ST_MAN'; -- ๋ฌธ์ 9) EMPLOYEES ํ
์ด๋ธ์์ ๊ธ์ฌ๊ฐ 10000์ด์์ด๊ฑฐ๋ JOB์ด ST_MAN์ธ ์ฌ์์ ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ์
์ฌ์ผ์, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ SELECT employee_id, first_name, job_id, salary, hire_date, department_id FROM employees WHERE salary >= 10000 OR job_id = 'ST_MAN'; -- ๋ฌธ์ 10) EMPLOYEES ํ
์ด๋ธ์์ JOB์ด ST_MAN, SA_MAN, SA_REP๊ฐ ์๋ ์ฌ์์ ์ฌ์๋ฒํธ, ์ฑ๋ช
, ๋ด๋น์
๋ฌด, ๊ธ์ฌ, ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ SELECT employee_id, first_name, job_id, salary, department_id FROM employees WHERE job_id NOT IN('ST_MAN', 'SA_MAN', 'SA_REP'); -- ๋ฌธ์ 11) ์
๋ฌด๊ฐ PRESIDENT์ด๊ณ ๊ธ์ฌ๊ฐ 12000์ด์์ด๊ฑฐ๋ ์
๋ฌด๊ฐ SA_MAN์ธ ์ฌ์์ ์ฌ์๋ฒํธ, ์ด๋ฆ, ์
๋ฌด, ๊ธ์ฌ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT employee_id, first_name, job_id, salary FROM employees WHERE job_id = 'AD_PRES' AND salary >= 12000 OR job_id = 'SA_MAN'; -- ๋ฌธ์ 12) ์
๋ฌด๊ฐ AD_PRES ๋๋ SA_MAN์ด๊ณ ๊ธ์ฌ๊ฐ 12000์ด์์ธ ์ฌ์์ ์ฌ์๋ฒํธ, ์ด๋ฆ, ์
๋ฌด, ๊ธ์ฌ๋ฅผ ์ถ๋ ฅํ๋ผ. SELECT employee_id, first_name, job_id, salary FROM employees WHERE job_id = 'AD_PRES' OR job_id = 'SA_MAN' AND salary >= 12000; -- scott --6) emp ํ
์ด๋ธ์์ ์ฌ์๋ฒํธ๊ฐ 7698 ์ธ ์ฌ์์ ์ด๋ฆ, ์
๋ฌด, ๊ธ์ฌ๋ฅผ ์ถ๋ ฅํ์์ค. SELECT ename, job, sal FROM emp WHERE empno = 7698; -- 7) emp ํ
์ด๋ธ์์ ์ฌ์์ด๋ฆ์ด SMITH์ธ ์ฌ๋์ ์ด๋ฆ๊ณผ ์๊ธ, ๋ถ์๋ฒํธ๋ฅผ ๊ตฌํ์์ค. SELECT ename, sal, deptno FROM emp WHERE ename = 'SMITH'; -- 8) ์๊ธ์ด 2500์ด์ 3500๋ฏธ๋ง์ธ ์ฌ์์ ์ด๋ฆ, ์
์ฌ์ผ, ์๊ธ์ ๊ตฌํ์์ค. SELECT ename, hiredate, sal FROM emp WHERE sal >= 2500 AND sal < 3500; -- 9) ๊ธ์ฌ๊ฐ 2000์์ 3000์ฌ์ด์ ํฌํจ๋์ง ์๋ ์ฌ์์ ์ด๋ฆ, ์
๋ฌด, ๊ธ์ฌ๋ฅผ ์ถ๋ ฅํ์์ค. SELECT ename, job, sal FROM emp WHERE sal NOT BETWEEN 2000 AND 3000; -- 10) 81๋
05์ 01์ผ๊ณผ 81๋
12์ 03์ผ ์ฌ์ด์ ์
์ฌํ ์ฌ์์ ์ด๋ฆ, ๊ธ์ฌ, ์
์ฌ์ผ์ ์ถ๋ ฅํ์์ค. SELECT ename, sal, hiredate FROM emp WHERE hiredate BETWEEN '81/05/01' AND '81/12/03'; -- 11) empํ
์ด๋ธ์์ ์ฌ์๋ฒํธ๊ฐ 7566,7782,7934์ธ ์ฌ์์ ์ ์ธํ ์ฌ๋๋ค์ ์ฌ์๋ฒํธ,์ด๋ฆ, -- ์๊ธ์ ์ถ๋ ฅํ์์ค. SELECT empno, ename, sal FROM emp WHERE empno NOT IN(7566,7782,7934); -- 12) ๋ถ์๋ฒํธ 30(deptno)์์ ๊ทผ๋ฌดํ๋ฉฐ ์ 2,000๋ฌ๋ฌ ์ดํ๋ฅผ ๋ฐ๋ 81๋
05์01์ผ ์ด์ ์ ์
์ฌํ ์ฌ์์ ์ด๋ฆ, ๊ธ์ฌ, ๋ถ์๋ฒํธ, ์
์ฌ์ผ์ ์ถ๋ ฅํ์์ค. SELECT ename, sal, deptno, hiredate FROM emp WHERE deptno = 30 AND sal <= 2000 AND hiredate < '81/05/01'; -- 13) empํ
์ด๋ธ์์ ๊ธ์ฌ๊ฐ 2,000์ 5,000 ์ฌ์ด๊ณ ๋ถ์๋ฒํธ๊ฐ 10 ๋๋ 30์ธ ์ฌ์์ ์ด๋ฆ๊ณผ ๊ธ์ฌ,๋ถ์๋ฒํธ๋ฅผ ๋์ดํ์์ค. SELECT ename, sal, deptno FROM emp WHERE (sal BETWEEN 2000 AND 5000) AND (deptno = 10 OR deptno = 30); -- 14) ์
๋ฌด๊ฐ SALESMAN ๋๋ MANAGER์ด๋ฉด์ ๊ธ์ฌ๊ฐ 1,600, 2,975 ๋๋ 2,850์ด ์๋ ๋ชจ๋ ์ฌ์์ ์ด๋ฆ, ์
๋ฌด ๋ฐ ๊ธ์ฌ๋ฅผ ํ์ํ์์ค. SELECT ename, job, sal FROM emp WHERE (job = 'SALESMAN' OR job = 'MANAGER') AND sal NOT IN(1600, 2975, 2850); -- 15) empํ
์ด๋ธ์์ ์ฌ์์ด๋ฆ ์ค S๊ฐ ํฌํจ๋์ง ์์ ์ฌ๋๋ค ์ค ๋ถ์๋ฒํธ๊ฐ 20์ธ ์ฌ์๋ค์ ์ด๋ฆ๊ณผ ๋ถ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ์์ค. SELECT ename, deptno FROM emp WHERE deptno = 20 AND ename NOT LIKE '%S%'; -- 16) empํ
์ด๋ธ์์ ์ด๋ฆ์ A์ E๊ฐ ์๋ ๋ชจ๋ ์ฌ์์ ์ด๋ฆ์ ํ์ํ์์ค. SELECT ename FROM emp WHERE ename LIKE '%A%' AND ename LIKE '%E%'; -- 17) empํ
์ด๋ธ์์ ๊ด๋ฆฌ์๊ฐ ์๋ ๋ชจ๋ ์ฌ์์ ์ด๋ฆ๊ณผ ์
๋ฌด๋ฅผ ํ์ํ์์ค. SELECT ename, mgr, job FROM emp WHERE mgr IS NULL; -- 18) empํ
์ด๋ธ์์ ์ปค๋ฏธ์
ํญ๋ชฉ์ด ์
๋ ฅ๋ ์ฌ์๋ค์ ์ด๋ฆ๊ณผ ๊ธ์ฌ, ์ปค๋ฏธ์
์ ๊ตฌํ์์ค. SELECT ename, sal, comm FROM emp WHERE comm IS NOT NULL AND comm <> 0; -- AND comm != 0; | cs |
'๐ฆ ๋ฐ์ดํฐ ๋ฒ ์ด์ค (DB) ๐ฆ > ๐ พ ์ค๋ผํด DB & SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Power, Trunc, Trim, Round๋ฑ ๊ฐ์ข ํจ์ 1# (0) | 2021.02.10 |
---|---|
ORDER BY , GROUP BY ๋ฌธ (0) | 2021.02.10 |
SELECT๋ฌธ - 2 (0) | 2021.02.08 |
SELECT ๋ฌธ - 1 (0) | 2021.02.08 |
Standard function (๊ธฐ๋ณธ ํจ์) (0) | 2021.02.08 |
๋๊ธ