ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
SELECT c. careerno, c. jobno, emp. empname, job. jobname, dept. deptname, c. deptno, c. startdate, c. enddate FROM career c, emp, job, dept WHERE c. empno=emp.empno AND c. jobno=job.jobno AND dept. deptno=c.deptno; ΠΡΠ΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°Ρ , ΡΠΊΠ°Π·Π°Π² Π΄Π°ΡΡ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π΄Π΅Π½Ρ (ΡΠΈΡΠ»ΠΎ), ΠΌΠ΅ΡΡΡ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅), Π³ΠΎΠ΄ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅). ΠΡΠ΄Π°ΠΉΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ ΠΈΠΌΡΠ½, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΠΠΠ ΠΠ’ΠΠ ΠΠΠ― ΠΠ ΠΠΠ ΠΠΠΠΠ«Π ΠΠΠΠΠΠ ΠΠΠΠΠΠΠΠ.
1. ΠΡΠ΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΡΠ΄Π΅Π»Π° ΠΏΡΠΎΠ΄Π°ΠΆ (SALES) ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
SELECT DEPTADDR FROM DEPT WHERE DEPTNAME='SALES';
2. ΠΡΠ΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠ΄Π΅Π»Π°Ρ , ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Chicago ΠΈ New York.
SELECT * FROM DEPT WHERE DEPTADDR='CHICAGO' OR DEPTADDR='NEW YORK';
Π€Π£ΠΠΠ¦ΠΠ:
3. ΠΠ°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ, Π½Π°ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π² 2007 Π³ΠΎΠ΄Ρ.
SELECT MIN (SALVALUE) FROM SALARY WHERE YEAR='2007';
4. ΠΡΠ΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°Ρ , ΡΠΎΠ΄ΠΈΠ²ΡΠΈΡ ΡΡ Π½Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ 1 ΡΠ½Π²Π°ΡΡ 1960 Π³ΠΎΠ΄Π°.
SELECT * FROM EMP WHERE BIRTHDATE<=to_date ('01−01−1960','dd-mm-yyyy');
5. ΠΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΡΠΈΡΠ»ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ², ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅ΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
SELECT COUNT (*) FROM EMP;
6. ΠΠ°ΠΉΡΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ², ΡΡΡ ΠΈΠΌΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. ΠΠΌΠ΅Π½Π° Π²ΡΠ΄Π°ΡΡ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΡΡΠ΅ΠΉ ΡΠΏΡΠ°Π²Π° Π±ΡΠΊΠ²Ρ t.
SELECT substr (empname, 1, length (empname)-1) FROM emp WHERE empname LIKE '%T' AND empname NOT LIKE '% %'.
UNION.
SELECT empname FROM emp WHERE empname NOT LIKE '%T' AND empname NOT LIKE '% %';
7. ΠΡΠ΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°Ρ , ΡΠΊΠ°Π·Π°Π² Π΄Π°ΡΡ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π΄Π΅Π½Ρ (ΡΠΈΡΠ»ΠΎ), ΠΌΠ΅ΡΡΡ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅), Π³ΠΎΠ΄ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅).
SELECT empno, empname, TO_CHAR (birthdate, 'DD MONTH YEAR') FROM emp;
Π’ΠΎΠΆΠ΅, Π½ΠΎ Π³ΠΎΠ΄ ΡΠΈΡΠ»ΠΎΠΌ.
SELECT empno, empname, TO_CHAR (birthdate, 'DD MONTH YYYY') FROM emp; ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ Π·Π°ΡΠΏΠ»Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°.
8. ΠΡΠ΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡΡ , ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π½Π°Π·Π²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ «CLERK» ΠΈ «DRIVER» Π½Π° «WORKER».
SELECT jobno, REPLACE (REPLACE (jobname,'CLERK','WORKER'),'DRIVER','WORKER'), minsalary FROM job;
HAVING:
9. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ΅Π΄Π½ΡΡ Π·Π°ΡΠΏΠ»Π°ΡΡ Π·Π° Π³ΠΎΠ΄Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Π·Π° ΡΡΠΈ ΠΌΠ΅ΡΡΡΠ΅Π².
SELECT year, avg (salvalue) FROM salary GROUP BY year HAVING count (month)>=3;
Π‘ΠΠΠΠΠΠΠΠΠ ΠΠ Π ΠΠΠΠΠ‘Π’ΠΠ£:
10. ΠΡΠ²Π΅Π΄Π΅ΡΠ΅ Π²Π΅Π΄ΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΏΠ»Π°ΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ ΡΠ»ΡΠΆΠ°ΡΠΈΡ .
SELECT salary. salaryno, emp. empname, salary. month, salary. year, salary. salvalue FROM salary, emp WHERE emp. empno=salary.empno ORDER BY salary. salaryno;
Π‘ΠΠΠΠΠΠΠΠΠ ΠΠ ΠΠ Π ΠΠΠΠΠ‘Π’ΠΠ£:
11. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌ Π·Π°ΡΠΏΠ»Π°ΡΡ, ΠΏΠΎΠΏΠ°Π΄Π°ΡΡΠ΅ΠΉ Π² Π²ΠΈΠ»ΠΊΡ: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΊΠ»Π°Π΄ ΠΏΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ — ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΊΠ»Π°Π΄ ΠΏΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ»ΡΡ ΠΏΡΡΡΡΠΎΡ. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²ΠΈΠ»ΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ.
SELECT salary.*, job. minsalary, job. jobname FROM salary INNER JOIN career ON salary. empno=career.empno INNER JOIN job ON career. jobno=job.jobno WHERE salary. salvalue BETWEEN (SELECT minsalary FROM job j WHERE j. jobno=job.jobno) AND (SELECT minsalary+500 FROM job j WHERE j. jobno=job.jobno);
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ:
ΠΠ½ΡΡΡΠ΅Π½Π½Π΅Π΅:
12. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠ΅ΠΉ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ ΠΏΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡΠΌ (Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠ΅ΠΉ).
SELECT salary.*, job. minsalary, job. jobname FROM salary INNER JOIN career ON salary. empno=career.empno INNER JOIN job ON career. jobno=job.jobno WHERE salary. salvalue=(SELECT minsalary FROM job j WHERE j. jobno=job.jobno);
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅:
11. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
SELECT c. careerno, c. jobno, emp. empname, c. deptno, c. startdate, c. enddate FROM career c NATURAL JOIN emp;
ΠΡΠΎΡΡΠΎΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅:
12. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
SELECT c. careerno, c. jobno, emp. empname, c. deptno, c. startdate, c. enddate FROM career c INNER JOIN emp ON c. empno=emp.empno;
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΡ ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° ΡΠ°Π±Π»ΠΈΡ:
13. ΠΡΠ΄Π°ΠΉΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ ΠΈΠΌΡΠ½, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ, ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»Π°.
SELECT c. careerno, c. jobno, emp. empname, job. jobname, dept. deptname, c. deptno, c. startdate, c. enddate FROM career c, emp, job, dept WHERE c. empno=emp.empno AND c. jobno=job.jobno AND dept. deptno=c.deptno;
ΠΠΠΠ¨ΠΠΠ ΠΠΠͺΠΠΠΠΠΠΠΠ:
14. ΠΡΠ΄Π°ΠΉΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ ΠΈΠΌΡΠ½.
SELECT c. careerno, c. jobno, emp. empname, c. deptno, c. startdate, c. enddate FROM career c FULL OUTER JOIN emp ON c. empno=emp.empno WHERE c. empno IS NOT NULL;