Π‘ΠšΠ›. Π—Π°Π±Π°Π²Π½Π΅ Π·Π°Π³ΠΎΠ½Π΅Ρ‚ΠΊΠ΅

Π—Π΄Ρ€Π°Π²ΠΎ, Π₯Π°Π±Ρ€!

Π’Π΅Ρ› вишС ΠΎΠ΄ 3 Π³ΠΎΠ΄ΠΈΠ½Π΅ ΠΏΡ€Π΅Π΄Π°Ρ˜Π΅ΠΌ Π‘ΠšΠ› Ρƒ Ρ€Π°Π·Π½ΠΈΠΌ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΠΌΠ° Π·Π° ΠΎΠ±ΡƒΠΊΡƒ ΠΈ јСдно ΠΎΠ΄ ΠΌΠΎΡ˜ΠΈΡ… запаТања јС Π΄Π° студСнти Π±ΠΎΡ™Π΅ ΡΠ°Π²Π»Π°Π΄Π°Π²Π°Ρ˜Ρƒ ΠΈ Ρ€Π°Π·ΡƒΠΌΠ΅Ρ˜Ρƒ Π‘ΠšΠ› Π°ΠΊΠΎ ΠΈΠΌ сС Π΄Π° Π·Π°Π΄Π°Ρ‚Π°ΠΊ, Π° Π½Π΅ само Π³ΠΎΠ²ΠΎΡ€Π΅ ΠΎ могућностима ΠΈ тСорСтским основама.

Π£ ΠΎΠ²ΠΎΠΌ Ρ‡Π»Π°Π½ΠΊΡƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ›Ρƒ са Π²Π°ΠΌΠ° ΡΠ²ΠΎΡ˜Ρƒ листу ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° којС дајСм ΡƒΡ‡Π΅Π½ΠΈΡ†ΠΈΠΌΠ° ΠΊΠ°ΠΎ Π΄ΠΎΠΌΠ°Ρ›ΠΈ Π·Π°Π΄Π°Ρ‚Π°ΠΊ ΠΈ Π½Π° којима спроводимо Ρ€Π°Π·Π½Π΅ врстС браинсторминга, ΡˆΡ‚ΠΎ Π΄ΠΎΠ²ΠΎΠ΄ΠΈ Π΄ΠΎ Π΄ΡƒΠ±ΠΎΠΊΠΎΠ³ ΠΈ јасног Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ° Π‘ΠšΠ›-Π°.

Π‘ΠšΠ›. Π—Π°Π±Π°Π²Π½Π΅ Π·Π°Π³ΠΎΠ½Π΅Ρ‚ΠΊΠ΅

Π‘ΠšΠ› (ΛˆΙ›ΡΛˆΠΊΡ˜ΡƒΛˆΙ›Π»; СнглСски структурирани јСзик ΡƒΠΏΠΈΡ‚Π°) јС Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ програмски јСзик који сС користи Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠΎΠ²Π°ΡšΠ΅ ΠΈ ΡƒΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ†ΠΈΠΌΠ° Ρƒ Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½ΠΎΡ˜ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° којом ΡƒΠΏΡ€Π°Π²Ρ™Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ систСм Π·Π° ΡƒΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ Π±Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°. Π‘Π°Π·Π½Π°Ρ˜Ρ‚Π΅ вишС

О Π‘ΠšΠ›-Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΠΈ ΠΈΠ· Ρ€Π°Π·Π½ΠΈΡ… ΠΈΠ·Π²ΠΎΡ€ΠΈ.
Овај Ρ‡Π»Π°Π½Π°ΠΊ нијС намСњСн Π΄Π° вас Π½Π°ΡƒΡ‡ΠΈ Π‘ΠšΠ› ΠΎΠ΄ Π½ΡƒΠ»Π΅.

Па идСмо.

ΠšΠΎΡ€ΠΈΡΡ‚ΠΈΡ›Π΅ΠΌΠΎ Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΎ Π₯Π  Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌ Ρƒ ΠžΡ€Π°Ρ†Π»Π΅-Ρƒ са својим Ρ‚Π°Π±Π΅Π»Π°ΠΌΠ° (вишС):

Π‘ΠšΠ›. Π—Π°Π±Π°Π²Π½Π΅ Π·Π°Π³ΠΎΠ½Π΅Ρ‚ΠΊΠ΅
НапомињСм Π΄Π° Ρ›Π΅ΠΌΠΎ Ρ€Π°Π·ΠΌΠ°Ρ‚Ρ€Π°Ρ‚ΠΈ само Π‘Π•Π›Π•Π¦Π’ Π·Π°Π΄Π°Ρ‚ΠΊΠ΅. ОвдС Π½Π΅ΠΌΠ° Π”ΠœΠ› ΠΈΠ»ΠΈ Π”Π”Π› Π·Π°Π΄Π°Ρ‚Π°ΠΊΠ°.

Π·Π°Π΄Π°Ρ†ΠΈ

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°ΡšΠ΅ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу са ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π°ΠΌΠ° ΠΎ свим запослСнима
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT * FROM employees

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних ΠΏΠΎ ΠΈΠΌΠ΅Π½Ρƒ 'Π”Π°Π²ΠΈΠ΄'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE first_name = 'David';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних са јоб_ΠΈΠ΄ јСднаким 'ИВ_ΠŸΠ ΠžΠ“'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE job_id = 'IT_PROG'

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних ΠΈΠ· 50. ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° (Π΄Π΅ΠΏΠ°Ρ€Ρ‚ΠΌΠ΅Π½Ρ‚_ΠΈΠ΄) са ΠΏΠ»Π°Ρ‚ΠΎΠΌ (ΠΏΠ»Π°Ρ‚ΠΎΠΌ) Π²Π΅Ρ›ΠΎΠΌ ΠΎΠ΄ 4000
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE department_id = 50 AND salary > 4000;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних ΠΈΠ· 20. ΠΈ 30. ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° (Π΄Π΅ΠΏΠ°Ρ€Ρ‚ΠΌΠ΅Π½Ρ‚_ΠΈΠ΄)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE department_id = 20 OR department_id = 30;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π΅ јС послСдњС слово Ρƒ ΠΈΠΌΠ΅Π½Ρƒ 'Π°'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE first_name LIKE '%a';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних ΠΈΠ· 50. ΠΈ 80. ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° (Π΄Π΅ΠΏΠ°Ρ€Ρ‚ΠΌΠ΅Π½Ρ‚_ΠΈΠ΄) који ΠΈΠΌΠ°Ρ˜Ρƒ бонус (врСдност Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΈ Цоммиссион_ΠΏΡ†Ρ‚ нијС ΠΏΡ€Π°Π·Π½Π°)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE     (department_id = 50 OR department_id = 80)
       AND commission_pct IS NOT NULL;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π° ΠΈΠΌΠ΅Π½Π° садрТС најмањС 2 слова 'Π½'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE first_name LIKE '%n%n%';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π° су ΠΈΠΌΠ΅Π½Π° Π΄ΡƒΠΆΠ° ΠΎΠ΄ 4 слова
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE first_name LIKE '%_____%';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних Ρ‡ΠΈΡ˜Π° јС ΠΏΠ»Π°Ρ‚Π° Ρƒ распону ΠΎΠ΄ 8000 Π΄ΠΎ 9000 (ΡƒΠΊΡ™ΡƒΡ‡ΠΈΠ²ΠΎ)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE salary BETWEEN 8000 AND 9000;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π΅ ΠΈΠΌΠ΅ садрТи симбол '%'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE first_name LIKE '%%%' ESCAPE '';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих Π˜Π”-ΠΎΠ²Π° ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT DISTINCT manager_id
  FROM employees
 WHERE manager_id IS NOT NULL;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу запослСних са ΡšΠΈΡ…ΠΎΠ²ΠΈΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡ˜Π°ΠΌΠ° Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ: Π”ΠΎΠ½Π°Π»Π΄(сх_Ρ†Π»Π΅Ρ€ΠΊ)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name || '(' || LOWER (job_id) || ')' employee FROM employees;

ΠšΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ Ρ˜Π΅Π΄Π½ΠΎΡ€Π΅Π΄Π½ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΡ’Π°Π²Π°ΡšΠ΅ ΠΈΠ·Π»Π°Π·Π°

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π° су ΠΈΠΌΠ΅Π½Π° Π΄ΡƒΠΆΠ° ΠΎΠ΄ 10 слова
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE LENGTH (first_name) > 10;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних који ΠΈΠΌΠ°Ρ˜Ρƒ слово 'Π±' Ρƒ свом ΠΈΠΌΠ΅Π½Ρƒ (Π½Π΅ΠΎΡΡ˜Π΅Ρ‚Ρ™ΠΈΠ²ΠΎ Π½Π° Π²Π΅Π»ΠΈΠΊΠ° ΠΈ ΠΌΠ°Π»Π° слова)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE INSTR (LOWER (first_name), 'b') > 0;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π° ΠΈΠΌΠ΅Π½Π° садрТС најмањС 2 слова 'Π°'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE INSTR (LOWER (first_name),'a',1,2) > 0;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних Ρ‡ΠΈΡ˜Π° јС ΠΏΠ»Π°Ρ‚Π° Π²ΠΈΡˆΠ΅ΡΡ‚Ρ€ΡƒΠΊΠ° ΠΎΠ΄ 1000
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE MOD (salary, 1000) = 0;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ ΠΏΡ€Π²ΠΈ Ρ‚Ρ€ΠΎΡ†ΠΈΡ„Ρ€Π΅Π½ΠΈ Π±Ρ€ΠΎΡ˜ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° запослСног Π°ΠΊΠΎ јС њСгов Π±Ρ€ΠΎΡ˜ Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ КБКБКБ.КБКБКБ.КБКБКБКБ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT phone_number, SUBSTR (phone_number, 1, 3) new_phone_number
  FROM employees
 WHERE phone_number LIKE '___.___.____';

Π’Π°Π±Π΅Π»Π° ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. Π£Π·ΠΌΠΈΡ‚Π΅ ΠΏΡ€Π²Ρƒ Ρ€Π΅Ρ‡ ΠΈΠ· Π½Π°Π·ΠΈΠ²Π° ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° Π·Π° ΠΎΠ½Π΅ који ΠΈΠΌΠ°Ρ˜Ρƒ вишС ΠΎΠ΄ јСднС Ρ€Π΅Ρ‡ΠΈ Ρƒ ΠΈΠΌΠ΅Π½Ρƒ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT department_name,
       SUBSTR (department_name, 1, INSTR (department_name, ' ')-1)
           first_word
  FROM departments
 WHERE INSTR (department_name, ' ') > 0;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ ΠΈΠΌΠ΅Π½Π° запослСних Π±Π΅Π· ΠΏΡ€Π²ΠΎΠ³ ΠΈ послСдњСг слова Ρƒ ΠΈΠΌΠ΅Π½Ρƒ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name, SUBSTR (first_name, 2, LENGTH (first_name) - 2) new_name
  FROM employees;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π΅ јС послСдњС слово Ρƒ ΠΈΠΌΠ΅Π½Ρƒ β€žΠΌβ€œ ΠΈ Ρ‡ΠΈΡ˜Π΅ јС ΠΈΠΌΠ΅ Π΄ΡƒΠΆΠ΅ ΠΎΠ΄ 5
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE SUBSTR (first_name, -1) = 'm' AND LENGTH(first_name)>5;

Π’Π°Π±Π»Π΅ Π”ΡƒΠ°Π». Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ Π΄Π°Ρ‚ΡƒΠΌ Ρƒ слСдСћи ΠΏΠ΅Ρ‚Π°ΠΊ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT NEXT_DAY (SYSDATE, 'FRIDAY') next_friday FROM DUAL;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних који су Ρ€Π°Π΄ΠΈΠ»ΠΈ Ρƒ компанији вишС ΠΎΠ΄ 17 Π³ΠΎΠ΄ΠΈΠ½Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE MONTHS_BETWEEN (SYSDATE, hire_date) / 12 > 17;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π° јС послСдња Ρ†ΠΈΡ„Ρ€Π° Π±Ρ€ΠΎΡ˜Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π½Π΅ΠΏΠ°Ρ€Π½Π° ΠΈ ΡΠ°ΡΡ‚ΠΎΡ˜ΠΈ сС ΠΎΠ΄ 3 Π±Ρ€ΠΎΡ˜Π° Ρ€Π°Π·Π΄Π²ΠΎΡ˜Π΅Π½Π° Ρ‚Π°Ρ‡ΠΊΠΎΠΌ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE     MOD (SUBSTR (phone_number, -1), 2) != 0
       AND INSTR (phone_number,'.',1,3) = 0;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‡ΠΈΡ˜Π° врСдност јоб_ΠΈΠ΄ послС Π·Π½Π°ΠΊΠ° '_' ΠΈΠΌΠ° најмањС 3 Π·Π½Π°ΠΊΠ°, Π°Π»ΠΈ ΠΎΠ²Π° врСдност послС '_' нијС јСднака 'Π¦Π›Π•Π Πš'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE     LENGTH (SUBSTR (job_id, INSTR (job_id, '_') + 1)) > 3
       AND SUBSTR (job_id, INSTR (job_id, '_') + 1) != 'CLERK';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних Ρ‚Π°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ›Π΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΈ свС β€ž.β€œ Ρƒ врСдности ПΠ₯ΠžΠΠ•_ΠΠ£ΠœΠ‘Π•Π  Π½Π° '-'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT phone_number, REPLACE (phone_number, '.', '-') new_phone_number
  FROM employees;

ΠšΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ ΠΈ условних ΠΈΠ·Ρ€Π°Π·Π°

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних који су дошли Π½Π° посао ΠΏΡ€Π²ΠΎΠ³ Π΄Π°Π½Π° Ρƒ мСсСцу (Π±ΠΈΠ»ΠΎ који)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE TO_CHAR (hire_date, 'DD') = '01';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних који су дошли Π½Π° посао 2008. Π³ΠΎΠ΄ΠΈΠ½Π΅
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE TO_CHAR (hire_date, 'YYYY') = '2008';

Π’Π°Π±Π»Π΅ ДУАЛ. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ ΡΡƒΡ‚Ρ€Π°ΡˆΡšΠΈ Π΄Π°Ρ‚ΡƒΠΌ Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ: Π‘ΡƒΡ‚Ρ€Π° јС Π΄Ρ€ΡƒΠ³ΠΈ Π΄Π°Π½ Ρ˜Π°Π½ΡƒΠ°Ρ€Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT TO_CHAR (SYSDATE, 'fm""Tomorrow is ""Ddspth ""day of"" Month')     info
  FROM DUAL;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних ΠΈ Π΄Π°Ρ‚ΡƒΠΌ ΠΊΠ°Π΄Π° јС сваки запослСни дошао Π½Π° посао Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ: 21.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name, TO_CHAR (hire_date, 'fmddth ""of"" Month, YYYY') hire_date
  FROM employees;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак запослСних са ΡƒΠ²Π΅Ρ›Π°Π½ΠΈΠΌ ΠΏΠ»Π°Ρ‚Π°ΠΌΠ° Π·Π° 20%. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ са Π·Π½Π°ΠΊΠΎΠΌ Π΄ΠΎΠ»Π°Ρ€Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name, TO_CHAR (salary + salary * 0.20, 'fm$999,999.00') new_salary
  FROM employees;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак свих запослСних који су ΠΏΠΎΡ‡Π΅Π»ΠΈ Π΄Π° Ρ€Π°Π΄Π΅ Ρƒ Ρ„Π΅Π±Ρ€ΡƒΠ°Ρ€Ρƒ 2007. Π³ΠΎΠ΄ΠΈΠ½Π΅.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE hire_date BETWEEN TO_DATE ('01.02.2007', 'DD.MM.YYYY')
                     AND LAST_DAY (TO_DATE ('01.02.2007', 'DD.MM.YYYY'));

SELECT *
  FROM employees
 WHERE to_char(hire_date,'MM.YYYY') = '02.2007'; 

Π’Π°Π±Π»Π΅ ДУАЛ. Π˜Π·Π½Π΅ΡΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΈ Π΄Π°Ρ‚ΡƒΠΌ, + сСкунда, + ΠΌΠΈΠ½ΡƒΡ‚, + сат, + Π΄Π°Π½, + мСсСц, + Π³ΠΎΠ΄ΠΈΠ½Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT SYSDATE                          now,
       SYSDATE + 1 / (24 * 60 * 60)     plus_second,
       SYSDATE + 1 / (24 * 60)          plus_minute,
       SYSDATE + 1 / 24                 plus_hour,
       SYSDATE + 1                      plus_day,
       ADD_MONTHS (SYSDATE, 1)          plus_month,
       ADD_MONTHS (SYSDATE, 12)         plus_year
  FROM DUAL;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних са ΠΏΡƒΠ½ΠΈΠΌ ΠΏΠ»Π°Ρ‚Π°ΠΌΠ° (ΠΏΠ»Π°Ρ‚Π° + ΠΏΡ€ΠΎΠ²ΠΈΠ·ΠΈΡ˜Π°_ΠΏΡ†Ρ‚(%)) Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ: $24,000.00
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name, salary, TO_CHAR (salary + salary * NVL (commission_pct, 0), 'fm$99,999.00') full_salary
  FROM employees;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу свих запослСних ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ доступности бонуса Π½Π° ΠΏΠ»Π°Ρ‚Π΅ (Π΄Π°/Π½Π΅)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name, commission_pct, NVL2 (commission_pct, 'Yes', 'No') has_bonus
  FROM employees;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ Π½ΠΈΠ²ΠΎ ΠΏΠ»Π°Ρ‚Π° сваког запослСног: МањС ΠΎΠ΄ 5000 сС сматра ниским Π½ΠΈΠ²ΠΎΠΎΠΌ, Π’Π΅Ρ›ΠΈΠΌ ΠΈΠ»ΠΈ јСднаким 5000, Π° мањим ΠΎΠ΄ 10000 сС сматра Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈΠΌ Π½ΠΈΠ²ΠΎΠΎΠΌ, Π’ΠΈΡˆΠ΅ ΠΎΠ΄ ΠΈΠ»ΠΈ јСднако 10000 сС сматра високим Π½ΠΈΠ²ΠΎΠΎΠΌ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name,
       salary,
       CASE
           WHEN salary < 5000 THEN 'Low'
           WHEN salary >= 5000 AND salary < 10000 THEN 'Normal'
           ELSE 'High'
       END salary_level
  FROM employees;

Π’Π°Π±Π»Π΅ ЦоунтриСс. Π—Π° сваку Π·Π΅ΠΌΡ™Ρƒ ΠΏΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ€Π΅Π³ΠΈΠΎΠ½ Ρƒ којСм сС Π½Π°Π»Π°Π·ΠΈ: 1-Π•Π²Ρ€ΠΎΠΏΠ°, 2-АмСрика, 3-Азија, 4-Африка (Π±Π΅Π· ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠΈΠ²Π°ΡšΠ°)
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT country_name country,
       DECODE (region_id,
               1, 'Europe',
               2, 'America',
               3, 'Asia',
               4, 'Africa',
               'Unknown')
           region
  FROM countries;

SELECT country_name
           country,
       CASE region_id
           WHEN 1 THEN 'Europe'
           WHEN 2 THEN 'America'
           WHEN 3 THEN 'Asia'
           WHEN 4 THEN 'Africa'
           ELSE 'Unknown'
       END
           region
  FROM countries;

Π˜Π·Π²Π΅ΡˆΡ‚Π°Π²Π°ΡšΠ΅ ΠΎ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈΠΌ ΠΏΠΎΠ΄Π°Ρ†ΠΈΠΌΠ° ΠΏΠΎΠΌΠΎΡ›Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π³Ρ€ΡƒΠΏΠ΅

Π’Π°Π±Π΅Π»Π° запослСних. ΠŸΡ€ΠΈΠΌΠΈΡ‚Π΅ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ ΠΎΠ΄ Π΄Π΅ΠΏΠ°Ρ€Ρ‚ΠΌΠ΅Π½Ρ‚_ΠΈΠ΄ са ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΠΌ ΠΈ максималном Π·Π°Ρ€Π°Π΄ΠΎΠΌ, Ρ€Π°Π½ΠΈΠΌ ΠΈ касним Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΠΌΠ° доласка Π½Π° посао ΠΈ Π±Ρ€ΠΎΡ˜Π΅ΠΌ запослСних. Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Ρ˜ ΠΏΠΎ Π±Ρ€ΠΎΡ˜Ρƒ запослСних (ΠΎΠΏΠ°Π΄Π°Ρ˜ΡƒΡ›Π΅)
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT department_id,
         MIN (salary) min_salary,
         MAX (salary) max_salary,
         MIN (hire_date) min_hire_date,
         MAX (hire_date) max_hire_Date,
         COUNT (*) count
    FROM employees
GROUP BY department_id
order by count(*) desc;

Π’Π°Π±Π΅Π»Π° запослСних. Колико запослСних Ρ‡ΠΈΡ˜Π° ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΡ‡ΠΈΡšΡƒ Π½Π° исто слово? Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Ρ˜ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½ΠΈ. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ само ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΊΠΎΡ˜ΠΈΡ… јС ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° Π²Π΅Ρ›Π° ΠΎΠ΄ 1
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT SUBSTR (first_name, 1, 1) first_char, COUNT (*)
    FROM employees
GROUP BY SUBSTR (first_name, 1, 1)
  HAVING COUNT (*) > 1
ORDER BY 2 DESC;

Π’Π°Π±Π΅Π»Π° запослСних. Колико запослСних Ρ€Π°Π΄ΠΈ Ρƒ истом ΠΎΠ΄Π΅Ρ™Π΅ΡšΡƒ ΠΈ ΠΏΡ€ΠΈΠΌΠ° исту ΠΏΠ»Π°Ρ‚Ρƒ?
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT department_id, salary, COUNT (*)
    FROM employees
GROUP BY department_id, salary
  HAVING COUNT (*) > 1;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ ΠΎ Ρ‚ΠΎΠΌΠ΅ ΠΊΠΎΠ»ΠΈΠΊΠΎ јС запослСних Π±ΠΈΠ»ΠΎ Π°Π½Π³Π°ΠΆΠΎΠ²Π°Π½ΠΎ сваког Π΄Π°Π½Π° Ρƒ Π½Π΅Π΄Π΅Ρ™ΠΈ. Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Ρ˜ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½ΠΈ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT TO_CHAR (hire_Date, 'Day') day, COUNT (*)
    FROM employees
GROUP BY TO_CHAR (hire_Date, 'Day')
ORDER BY 2 DESC;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ ΠΎ Ρ‚ΠΎΠΌΠ΅ ΠΊΠΎΠ»ΠΈΠΊΠΎ јС запослСних Π°Π½Π³Π°ΠΆΠΎΠ²Π°Π½ΠΎ ΠΏΠΎ Π³ΠΎΠ΄ΠΈΠ½Π°ΠΌΠ°. Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Ρ˜ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½ΠΈ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT TO_CHAR (hire_date, 'YYYY') year, COUNT (*)
    FROM employees
GROUP BY TO_CHAR (hire_date, 'YYYY');

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ Π±Ρ€ΠΎΡ˜ ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° која ΠΈΠΌΠ°Ρ˜Ρƒ запослСнС
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT COUNT (COUNT (*))     department_count
    FROM employees
   WHERE department_id IS NOT NULL
GROUP BY department_id;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу Π΄Π΅ΠΏΠ°Ρ€Ρ‚ΠΌΠ΅Π½Ρ‚_идс који ΠΈΠΌΠ°Ρ˜Ρƒ вишС ΠΎΠ΄ 30 запослСних
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT department_id
    FROM employees
GROUP BY department_id
  HAVING COUNT (*) > 30;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу Π΄Π΅ΠΏΠ°Ρ€Ρ‚ΠΌΠ΅Π½Ρ‚_идс ΠΈ Π·Π°ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Ρƒ просСчну ΠΏΠ»Π°Ρ‚Ρƒ запослСних Ρƒ сваком ΠΎΠ΄Π΅Ρ™Π΅ΡšΡƒ.
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT department_id, ROUND (AVG (salary)) avg_salary
    FROM employees
GROUP BY department_id;

Π’Π°Π±Π»Π΅ ЦоунтриСс. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу Ρ€Π΅Π³ΠΈΠΎΠ½_ΠΈΠ΄ ΠΊΠ°ΠΎ Π·Π±ΠΈΡ€ свих слова свих ΠΈΠΌΠ΅Π½Π° Π·Π΅ΠΌΠ°Ρ™Π° Ρƒ којима ΠΈΠΌΠ° вишС ΠΎΠ΄ 60
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT region_id
    FROM countries
GROUP BY region_id
  HAVING SUM (LENGTH (country_name)) > 60;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу Π΄Π΅ΠΏΠ°Ρ€Ρ‚ΠΌΠ΅Π½Ρ‚_идс Ρƒ којима Ρ€Π°Π΄Π΅ запослСни Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ (>1) јоб_идс
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT department_id
    FROM employees
GROUP BY department_id
  HAVING COUNT (DISTINCT job_id) > 1;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΡΠΊΠΈΡ…_ΠΈΠ΄ΠΎΠ²Π° Ρ‡ΠΈΡ˜ΠΈ јС Π±Ρ€ΠΎΡ˜ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΡ… Π²Π΅Ρ›ΠΈ ΠΎΠ΄ 5 ΠΈ Π·Π±ΠΈΡ€ свих ΠΏΠ»Π°Ρ‚Π° ΡšΠ΅Π³ΠΎΠ²ΠΈΡ… ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΡ… јС Π²Π΅Ρ›ΠΈ ΠΎΠ΄ 50000
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT manager_id
    FROM employees
GROUP BY manager_id
  HAVING COUNT (*) > 5 AND SUM (salary) > 50000;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΡΠΊΠΈΡ…_ΠΈΠ΄ΠΎΠ²Π° Ρ‡ΠΈΡ˜Π° јС просСчна ΠΏΠ»Π°Ρ‚Π° свих ΡšΠ΅Π³ΠΎΠ²ΠΈΡ… ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΡ… Ρƒ распону ΠΎΠ΄ 6000 Π΄ΠΎ 9000 ΠΈ који Π½Π΅ ΠΏΡ€ΠΈΠΌΠ°Ρ˜Ρƒ бонусС (цоммиссион_ΠΏΡ†Ρ‚ јС ΠΏΡ€Π°Π·Π°Π½)
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT manager_id, AVG (salary) avg_salary
    FROM employees
   WHERE commission_pct IS NULL
GROUP BY manager_id
  HAVING AVG (salary) BETWEEN 6000 AND 9000;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ максималну ΠΏΠ»Π°Ρ‚Ρƒ ΠΎΠ΄ свих запослСних јоб_ΠΈΠ΄ који сС Π·Π°Π²Ρ€ΡˆΠ°Π²Π° Ρ€Π΅Ρ‡Ρ˜Ρƒ 'Π‘Π›ΠžΠ’ΠΠ˜Πš'
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT MAX (salary) max_salary
  FROM employees
 WHERE job_id LIKE '%CLERK';

SELECT MAX (salary) max_salary
  FROM employees
 WHERE SUBSTR (job_id, -5) = 'CLERK';

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ максималну ΠΏΠ»Π°Ρ‚Ρƒ ΠΌΠ΅Ρ’Ρƒ свим просСчним ΠΏΠ»Π°Ρ‚Π°ΠΌΠ° Π·Π° ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ΅
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT MAX (AVG (salary))
    FROM employees
GROUP BY department_id;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ Π±Ρ€ΠΎΡ˜ запослСних са истим Π±Ρ€ΠΎΡ˜Π΅ΠΌ слова Ρƒ свом ΠΈΠΌΠ΅Π½Ρƒ. Π˜ΡΡ‚ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΎ, ΠΏΡ€ΠΈΠΊΠ°Π·Π°Ρ‚ΠΈ само ΠΎΠ½Π΅ Ρ‡ΠΈΡ˜Π΅ јС ΠΈΠΌΠ΅ Π΄ΡƒΠΆΠ΅ ΠΎΠ΄ 5, Π° Π±Ρ€ΠΎΡ˜ запослСних са истим ΠΈΠΌΠ΅Π½ΠΎΠΌ јС Π²Π΅Ρ›ΠΈ ΠΎΠ΄ 20. Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Ρ˜ ΠΏΠΎ Π΄ΡƒΠΆΠΈΠ½ΠΈ ΠΈΠΌΠ΅Π½Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT LENGTH (first_name), COUNT (*)
    FROM employees
GROUP BY LENGTH (first_name)
  HAVING LENGTH (first_name) > 5 AND COUNT (*) > 20
ORDER BY LENGTH (first_name);

  SELECT LENGTH (first_name), COUNT (*)
    FROM employees
   WHERE LENGTH (first_name) > 5
GROUP BY LENGTH (first_name)
  HAVING COUNT (*) > 20
ORDER BY LENGTH (first_name);

ΠŸΡ€ΠΈΠΊΠ°Π·ΠΈΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΈΠ· вишС Ρ‚Π°Π±Π΅Π»Π° ΠΏΠΎΠΌΠΎΡ›Ρƒ спојСва

ЗапослСни Ρƒ Ρ‚Π°Π±Π΅Π»ΠΈ, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°, Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π΅, Π·Π΅ΠΌΡ™Π΅, Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу Ρ€Π΅Π³ΠΈΠΎΠ½Π° ΠΈ Π±Ρ€ΠΎΡ˜ запослСних Ρƒ сваком Ρ€Π΅Π³ΠΈΠΎΠ½Ρƒ
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT region_name, COUNT (*)
    FROM employees e
         JOIN departments d ON (e.department_id = d.department_id)
         JOIN locations l ON (d.location_id = l.location_id)
         JOIN countries c ON (l.country_id = c.country_id)
         JOIN regions r ON (c.region_id = r.region_id)
GROUP BY region_name;

ЗапослСни Ρƒ Ρ‚Π°Π±Π΅Π»ΠΈ, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°, Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π΅, Π·Π΅ΠΌΡ™Π΅, Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ Π΄Π΅Ρ‚Π°Ρ™Π½Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ сваком запослСном:
ИмС, ΠŸΡ€Π΅Π·ΠΈΠΌΠ΅, ΠžΠ΄Π΅Ρ™Π΅ΡšΠ΅, Посао, Π£Π»ΠΈΡ†Π°, Π”Ρ€ΠΆΠ°Π²Π°, Π Π΅Π³ΠΈΠΎΠ½
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT First_name,
       Last_name,
       Department_name,
       Job_id,
       street_address,
       Country_name,
       Region_name
  FROM employees  e
       JOIN departments d ON (e.department_id = d.department_id)
       JOIN locations l ON (d.location_id = l.location_id)
       JOIN countries c ON (l.country_id = c.country_id)
       JOIN regions r ON (c.region_id = r.region_id);

Π’Π°Π±Π΅Π»Π° запослСних. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ свС ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€Π΅ који ΠΈΠΌΠ°Ρ˜Ρƒ вишС ΠΎΠ΄ 6 запослСних који су ΠΈΠΌ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈ
ΠΎΠ΄Π»ΡƒΠΊΠ°

  SELECT man.first_name, COUNT (*)
    FROM employees emp JOIN employees man ON (emp.manager_id = man.employee_id)
GROUP BY man.first_name
  HAVING COUNT (*) > 6;

Π’Π°Π±Π΅Π»Π° запослСних. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ свС запослСнС који Π½ΠΈΠΊΠΎΠΌΠ΅ Π½Π΅ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜Ρƒ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT emp.first_name
  FROM employees  emp
       LEFT JOIN employees man ON (emp.manager_id = man.employee_id)
 WHERE man.FIRST_NAME IS NULL;

SELECT first_name
  FROM employees
 WHERE manager_id IS NULL;

ЗапослСни Ρƒ столу, Π˜ΡΡ‚ΠΎΡ€ΠΈΡ˜Π° посла. Π’Π°Π±Π΅Π»Π° запослСних Ρ‡ΡƒΠ²Π° свС запослСнС. Π’Π°Π±Π΅Π»Π° Јоб_хистори Ρ‡ΡƒΠ²Π° запослСнС који су напустили ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Ρƒ. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ ΠΎ свим запослСнима ΠΈ ΡšΠΈΡ…ΠΎΠ²ΠΎΠΌ статусу Ρƒ компанији (Ρ€Π°Π΄ ΠΈΠ»ΠΈ Π½Π°ΠΏΡƒΡˆΡ‚Π°ΡšΠ΅ компанијС са Π΄Π°Ρ‚ΡƒΠΌΠΎΠΌ одласка)
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
ΠΈΠΌΠ΅ | статус
ΠˆΠ΅Π½Π½ΠΈΡ„Π΅Ρ€ | Напустио јС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Ρƒ 31. Π΄Π΅Ρ†Π΅ΠΌΠ±Ρ€Π° 2006
Π¦Π»Π°Ρ€Π° | Π’Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ Ρ€Π°Π΄ΠΈ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name,
       NVL2 (
           end_date,
           TO_CHAR (end_date, 'fm""Left the company at"" DD ""of"" Month, YYYY'),
           'Currently Working')
           status
  FROM employees e LEFT JOIN job_history j ON (e.employee_id = j.employee_id);

ЗапослСни Ρƒ Ρ‚Π°Π±Π΅Π»ΠΈ, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°, Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π΅, Π·Π΅ΠΌΡ™Π΅, Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу запослСних који ΠΆΠΈΠ²Π΅ Ρƒ Π•Π²Ρ€ΠΎΠΏΠΈ (Ρ€Π΅Π³ΠΈΠΎΠ½_Π½Π°ΠΌΠ΅)
ΠΎΠ΄Π»ΡƒΠΊΠ°

 SELECT first_name
  FROM employees
       JOIN departments USING (department_id)
       JOIN locations USING (location_id)
       JOIN countries USING (country_id)
       JOIN regions USING (region_id)
 WHERE region_name = 'Europe';
 
 SELECT first_name
  FROM employees  e
       JOIN departments d ON (e.department_id = d.department_id)
       JOIN locations l ON (d.location_id = l.location_id)
       JOIN countries c ON (l.country_id = c.country_id)
       JOIN regions r ON (c.region_id = r.region_id)
 WHERE region_name = 'Europe';

Π‘Ρ‚ΠΎΠ»Π½ΠΈ слуТбСници, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ свС ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° са вишС ΠΎΠ΄ 30 запослСних
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT department_name, COUNT (*)
    FROM employees e JOIN departments d ON (e.department_id = d.department_id)
GROUP BY department_name
  HAVING COUNT (*) > 30;

Π‘Ρ‚ΠΎΠ»Π½ΠΈ слуТбСници, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ свС запослСнС који нису Π½ΠΈ Ρƒ јСдном ΠΎΠ΄Π΅Ρ™Π΅ΡšΡƒ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name
  FROM employees  e
       LEFT JOIN departments d ON (e.department_id = d.department_id)
 WHERE d.department_name IS NULL;

SELECT first_name
  FROM employees
 WHERE department_id IS NULL;

Π‘Ρ‚ΠΎΠ»Π½ΠΈ слуТбСници, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ сва ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° Ρƒ којима Π½Π΅ΠΌΠ° запослСних
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT department_name
  FROM employees  e
       RIGHT JOIN departments d ON (e.department_id = d.department_id)
 WHERE first_name IS NULL;

Π’Π°Π±Π΅Π»Π° запослСних. ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ свС запослСнС који Π½Π΅ΠΌΠ°Ρ˜Ρƒ Π½ΠΈΠΊΠΎΠ³Π° ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠ³
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT man.first_name
  FROM employees  emp
       RIGHT JOIN employees man ON (emp.manager_id = man.employee_id)
 WHERE emp.FIRST_NAME IS NULL;

Π‘Ρ‚ΠΎΠ»Π½ΠΈ запослСни, послови, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈΡ‚Π΅ запослСнС Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ: ИмС_ΠΈΠΌΠ΅, Назив_посла, ИмС_одсСка.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
ИмС | Јоб_Ρ‚ΠΈΡ‚Π»Π΅ | ΠžΠ΄Π΅Ρ™Π΅ΡšΠ΅ ИмС
Π”ΠΎΠ½Π°Π»Π΄ | Достава | Π¦Π»Π΅Ρ€ΠΊ Π‘Ρ…ΠΈΠΏΠΏΠΈΠ½Π³
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name, job_title, department_name
  FROM employees  e
       JOIN jobs j ON (e.job_id = j.job_id)
       JOIN departments d ON (d.department_id = e.department_id);

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак запослСних Ρ‡ΠΈΡ˜ΠΈ су сС Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΠΎΡ†ΠΈ запослили 2005. Π³ΠΎΠ΄ΠΈΠ½Π΅, Π°Π»ΠΈ су Ρƒ исто Π²Ρ€Π΅ΠΌΠ΅ ΠΈ сами ΠΎΠ²ΠΈ запослСни Π΄ΠΎΠ±ΠΈΠ»ΠΈ посао ΠΏΡ€Π΅ 2005.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT emp.*
  FROM employees emp JOIN employees man ON (emp.manager_id = man.employee_id)
 WHERE     TO_CHAR (man.hire_date, 'YYYY') = '2005'
       AND emp.hire_date < TO_DATE ('01012005', 'DDMMYYYY');

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу запослСних Ρ‡ΠΈΡ˜ΠΈ су ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΈ Π΄ΠΎΠ±ΠΈΠ»ΠΈ посао Ρƒ Ρ˜Π°Π½ΡƒΠ°Ρ€Ρƒ Π±ΠΈΠ»ΠΎ којС Π³ΠΎΠ΄ΠΈΠ½Π΅ ΠΈ Π΄ΡƒΠΆΠΈΠ½Π° јоб_Ρ‚ΠΈΡ‚Π»Π΅ ΠΎΠ²ΠΈΡ… запослСних јС вишС ΠΎΠ΄ 15 ΠΊΠ°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT emp.*
  FROM employees  emp
       JOIN employees man ON (emp.manager_id = man.employee_id)
       JOIN jobs j ON (emp.job_id = j.job_id)
 WHERE TO_CHAR (man.hire_date, 'MM') = '01' AND LENGTH (j.job_title) > 15;

ΠšΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ ΠΏΠΎΡ‚ΡƒΠΏΠΈΡ‚Π° Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ ΡƒΠΏΠΈΡ‚Π°

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу запослСних са Π½Π°Ρ˜Π΄ΡƒΠΆΠΈΠΌ ΠΈΠΌΠ΅Π½ΠΎΠΌ.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE LENGTH (first_name) =
       (SELECT MAX (LENGTH (first_name)) FROM employees);

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак запослСних са Π·Π°Ρ€Π°Π΄ΠΎΠΌ Π²Π΅Ρ›ΠΎΠΌ ΠΎΠ΄ просСчнС ΠΏΠ»Π°Ρ‚Π΅ свих запослСних.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE salary > (SELECT AVG (salary) FROM employees);

Π’Π°Π±Π΅Π»Π° запослСних, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°, Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π°. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ Π³Ρ€Π°Π΄ Ρƒ ΠΊΠΎΠΌΠ΅ запослСни ΡƒΠΊΡƒΠΏΠ½ΠΎ Π·Π°Ρ€Π°Ρ’ΡƒΡ˜Ρƒ најмањС.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT city
    FROM employees e
         JOIN departments d ON (e.department_id = d.department_id)
         JOIN locations l ON (d.location_id = l.location_id)
GROUP BY city
  HAVING SUM (salary) =
         (  SELECT MIN (SUM (salary))
              FROM employees e
                   JOIN departments d ON (e.department_id = d.department_id)
                   JOIN locations l ON (d.location_id = l.location_id)
          GROUP BY city);

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак запослСних Ρ‡ΠΈΡ˜ΠΈ ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ ΠΏΡ€ΠΈΠΌΠ° ΠΏΠ»Π°Ρ‚Ρƒ Π²Π΅Ρ›Ρƒ ΠΎΠ΄ 15000.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE manager_id IN (SELECT employee_id
                        FROM employees
                       WHERE salary > 15000)

Π‘Ρ‚ΠΎΠ»Π½ΠΈ слуТбСници, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ сва ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° Ρƒ којима Π½Π΅ΠΌΠ° запослСних
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM departments
 WHERE department_id NOT IN (SELECT department_id
                               FROM employees
                              WHERE department_id IS NOT NULL);

Π’Π°Π±Π΅Π»Π° запослСних. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ свС запослСнС који нису ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΈ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE employee_id NOT IN (SELECT manager_id
                             FROM employees
                            WHERE manager_id IS NOT NULL)

Π’Π°Π±Π΅Π»Π° запослСних. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ свС ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€Π΅ који ΠΈΠΌΠ°Ρ˜Ρƒ вишС ΠΎΠ΄ 6 запослСних који су ΠΈΠΌ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees e
 WHERE (SELECT COUNT (*)
          FROM employees
         WHERE manager_id = e.employee_id) > 6;

Π‘Ρ‚ΠΎΠ»Π½ΠΈ слуТбСници, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ запослСнС који Ρ€Π°Π΄Π΅ Ρƒ ИВ ΠΎΠ΄Π΅Ρ™Π΅ΡšΡƒ
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE department_id = (SELECT department_id
                          FROM departments
                         WHERE department_name = 'IT');

Π‘Ρ‚ΠΎΠ»Π½ΠΈ запослСни, послови, ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°. ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈΡ‚Π΅ запослСнС Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ: ИмС_ΠΈΠΌΠ΅, Назив_посла, ИмС_одсСка.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
ИмС | Јоб_Ρ‚ΠΈΡ‚Π»Π΅ | ΠžΠ΄Π΅Ρ™Π΅ΡšΠ΅ ИмС
Π”ΠΎΠ½Π°Π»Π΄ | Достава | Π¦Π»Π΅Ρ€ΠΊ Π‘Ρ…ΠΈΠΏΠΏΠΈΠ½Π³
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT first_name,
       (SELECT job_title
          FROM jobs
         WHERE job_id = e.job_id)
           job_title,
       (SELECT department_name
          FROM departments
         WHERE department_id = e.department_id)
           department_name
  FROM employees e;

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ списак запослСних Ρ‡ΠΈΡ˜ΠΈ су сС Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΠΎΡ†ΠΈ запослили 2005. Π³ΠΎΠ΄ΠΈΠ½Π΅, Π°Π»ΠΈ су Ρƒ исто Π²Ρ€Π΅ΠΌΠ΅ ΠΈ сами ΠΎΠ²ΠΈ запослСни Π΄ΠΎΠ±ΠΈΠ»ΠΈ посао ΠΏΡ€Π΅ 2005.
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees
 WHERE     manager_id IN (SELECT employee_id
                            FROM employees
                           WHERE TO_CHAR (hire_date, 'YYYY') = '2005')
       AND hire_date < TO_DATE ('01012005', 'DDMMYYYY');

Π’Π°Π±Π΅Π»Π° запослСних. Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ листу запослСних Ρ‡ΠΈΡ˜ΠΈ су ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΈ Π΄ΠΎΠ±ΠΈΠ»ΠΈ посао Ρƒ Ρ˜Π°Π½ΡƒΠ°Ρ€Ρƒ Π±ΠΈΠ»ΠΎ којС Π³ΠΎΠ΄ΠΈΠ½Π΅ ΠΈ Π΄ΡƒΠΆΠΈΠ½Π° јоб_Ρ‚ΠΈΡ‚Π»Π΅ ΠΎΠ²ΠΈΡ… запослСних јС вишС ΠΎΠ΄ 15 ΠΊΠ°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°
ΠΎΠ΄Π»ΡƒΠΊΠ°

SELECT *
  FROM employees e
 WHERE     manager_id IN (SELECT employee_id
                            FROM employees
                           WHERE TO_CHAR (hire_date, 'MM') = '01')
       AND (SELECT LENGTH (job_title)
              FROM jobs
             WHERE job_id = e.job_id) > 15;

Во јС свС за сада.

Надам сС Π΄Π° су Π·Π°Π΄Π°Ρ†ΠΈ Π±ΠΈΠ»ΠΈ Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΈ ΠΈ ΡƒΠ·Π±ΡƒΠ΄Ρ™ΠΈΠ²ΠΈ.
Π”ΠΎΠ΄Π°Ρ›Ρƒ Π½Π° ΠΎΠ²Ρƒ листу Π·Π°Π΄Π°Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ јС вишС ΠΌΠΎΠ³ΡƒΡ›Π΅.
Π’Π°ΠΊΠΎΡ’Π΅ Ρ›Π΅ ΠΌΠΈ Π±ΠΈΡ‚ΠΈ Π΄Ρ€Π°Π³ΠΎ Π΄Π° ΠΏΡ€ΠΈΠΌΠΈΠΌ Π±ΠΈΠ»ΠΎ ΠΊΠ°ΠΊΠ²Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€Π΅ ΠΈ ΡΡƒΠ³Π΅ΡΡ‚ΠΈΡ˜Π΅.

ПБ: Ако Π½Π΅ΠΊΠΎ смисли Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ² Π·Π°Π΄Π°Ρ‚Π°ΠΊ Π‘Π•Π›Π•Π¦Π’, ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρƒ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΌΠ° ΠΈ ја Ρ›Ρƒ Π³Π° Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Π½Π° листу.

Π₯Π²Π°Π»Π°.

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€