рд╣реЕрд▓реЛ рд╣реЕрдмреНрд░!
3 рд╡рд░реНрд╖рд╛рдВрд╣реВрди рдЕрдзрд┐рдХ рдХрд╛рд│ рдореА рд╡рд┐рд╡рд┐рдз рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗрдВрджреНрд░рд╛рдВрдордзреНрдпреЗ SQL рд╢рд┐рдХрд╡рдд рдЖрд╣реЗ, рдЖрдгрд┐ рдорд╛рдЭреЗ рдПрдХ рдирд┐рд░реАрдХреНрд╖рдг рдЕрд╕реЗ рдЖрд╣реЗ рдХреА, рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдирд╛ рдПрдЦрд╛рджреЗ рдХрд╛рд░реНрдп рджрд┐рд▓реЗ рдЧреЗрд▓реЗ рддрд░ рддреЗ SQL рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╢рд┐рдХрддрд╛рдд рдЖрдгрд┐ рд╕рдордЬрддрд╛рдд, рдЖрдгрд┐ рдХреЗрд╡рд│ рд╢рдХреНрдпрддрд╛ рдЖрдгрд┐ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкрд╛рдпрд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓рд╛рдпрдЪреЗ рдирд╛рд╣реА.
рдпрд╛ рд▓реЗрдЦрд╛рдд, рдореА рддреБрдордЪреНрдпрд╛рд╕реЛрдмрдд рдорд╛рдЭреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░реЗрди рдЬреА рдореА рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдирд╛ рдЧреГрд╣рдкрд╛рда рдореНрд╣рдгреВрди рджреЗрддреЛ рдЖрдгрд┐ рдЬреНрдпрд╛рд╡рд░ рдЖрдореНрд╣реА рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреЗ рд╡рд┐рдЪрд╛рд░рдордВрдерди рдХрд░рддреЛ, рдЬреНрдпрд╛рдореБрд│реЗ SQL рдЪреА рд╕рдЦреЛрд▓ рдЖрдгрд┐ рд╕реНрдкрд╖реНрдЯ рд╕рдордЬ рд╣реЛрддреЗ.
SQL (╦И╔Ыs╦Иkju╦И╔Ыl; eng. рд╕рдВрд░рдЪрд┐рдд рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛) рд╣реА рдпреЛрдЧреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рдгрд╛рд▓реАрджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдбреЗрдЯрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕реБрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдгрд╛рд░реА рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЖрд╣реЗ.
рддреБрдореНрд╣реА рдПрд╕рдХреНрдпреВрдПрд▓ рдмрджреНрджрд▓ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЧреЛрд╖реНрдЯреА рд╡рд╛рдЪреВ рд╢рдХрддрд╛
рд╣рд╛ рд▓реЗрдЦ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди SQL рд╢рд┐рдХрд╡рдгреНрдпрд╛рдЪрд╛ рд╣реЗрддреВ рдирд╛рд╣реА.
рддрд░, рдЪрд▓рд╛ рдЬрд╛рдКрдпрд╛.
рдЖрдореНрд╣реА рд╕реБрдкреНрд░рд╕рд┐рджреНрдз рд╡рд╛рдкрд░реВ
рдореА рд▓рдХреНрд╖рд╛рдд рдШреЗрддреЛ рдХреА рдЖрдореНрд╣реА рдлрдХреНрдд SELECT рд╡рд░реАрд▓ рдХрд╛рд░реНрдпрд╛рдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ. DML рдЖрдгрд┐ DDL рд╡рд░ рдХреЛрдгрддреАрд╣реА рдХрд╛рд░реНрдпреЗ рдирд╛рд╣реАрдд.
рдХрд╛рд░реНрдпреЗ
рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЖрдгрд┐ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреЗ
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдорд╛рд╣рд┐рддреА рдЕрд╕рд▓реЗрд▓реА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
SELECT * FROM employees
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. 'рдбреЗрд╡реНрд╣рд┐рдб' рдирд╛рд╡рд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE first_name = 'David';
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. 'IT_PROG' рдкреНрд░рдорд╛рдгреЗ job_id рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE job_id = 'IT_PROG'
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. 50 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдкрдЧрд╛рд░ (рдкрдЧрд╛рд░) рдЕрд╕рд▓реЗрд▓реНрдпрд╛ 4000 рд╡реНрдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ (рд╡рд┐рднрд╛рдЧ_рдЖрдпрдбреА) рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE department_id = 50 AND salary > 4000;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. 20 рд╡реНрдпрд╛ рдЖрдгрд┐ 30 рд╡реНрдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛ (department_id)
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE department_id = 20 OR department_id = 30;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рдЬреНрдпрд╛ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдЪреЗ рд╢реЗрд╡рдЯрдЪреЗ рдЕрдХреНрд╖рд░ 'a' рдЖрд╣реЗ рддреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
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 рдЕрдХреНрд╖рд░реЗ 'n' рдЖрд╣реЗрдд
рдирд┐рд░реНрдгрдп
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;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдЪреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдкрджрд╛рдВрд╕рд╣ рдпрд╛рджреА рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдорд┐рд│рд╡рд╛: рдбреЛрдирд╛рд▓реНрдб(sh_clerk)
рдирд┐рд░реНрдгрдп
SELECT first_name || '(' || LOWER (job_id) || ')' employee FROM employees;
рдЖрдЙрдЯрдкреБрдЯ рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд┐рдВрдЧрд▓-рд░реЛ рдлрдВрдХреНрд╢рдиреНрд╕ рд╡рд╛рдкрд░рдгреЗ
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рдЬреНрдпрд╛рдВрдЪреЗ рдирд╛рд╡ 10 рдЕрдХреНрд╖рд░рд╛рдВрдкреЗрдХреНрд╖рд╛ рдореЛрдареЗ рдЖрд╣реЗ рдЕрд╢рд╛ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE LENGTH (first_name) > 10;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛ рдЬреНрдпрд╛рдВрдЪреНрдпрд╛ рдирд╛рд╡рд╛рд╡рд░ 'b' рдЕрдХреНрд╖рд░ рдЖрд╣реЗ (рдХреЗрд╕ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓)
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE INSTR (LOWER (first_name), 'b') > 0;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛ рдЬреНрдпрд╛рдВрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдд рдХрд┐рдорд╛рди 2 рдЕрдХреНрд╖рд░реЗ 'a' рдЖрд╣реЗрдд
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE INSTR (LOWER (first_name),'a',1,2) > 0;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рдЬреНрдпрд╛рдВрдЪреЗ рд╡реЗрддрди 1000 рдЪреНрдпрд╛ рдкрдЯреАрдд рдЖрд╣реЗ рдЕрд╢рд╛ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE MOD (salary, 1000) = 0;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдЪреНрдпрд╛ рдлреЛрди рдирдВрдмрд░рдЪрд╛ рдкрд╣рд┐рд▓рд╛ 3-рдЕрдВрдХреА рдХреНрд░рдорд╛рдВрдХ рдорд┐рд│рд╡рд╛ рдЬрд░ рддреНрдпрд╛рдЪрд╛ рдирдВрдмрд░ ╨е╨е╨е.╨е╨е╨е.╨е╨е╨е╨е рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдЕрд╕реЗрд▓
рдирд┐рд░реНрдгрдп
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;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рдЬреНрдпрд╛рдВрдЪреНрдпрд╛ рдирд╛рд╡рд╛рддреАрд▓ рд╢реЗрд╡рдЯрдЪреЗ рдЕрдХреНрд╖рд░ 'm' рдЖрд╣реЗ рдЖрдгрд┐ рдирд╛рд╡рд╛рдЪреА рд▓рд╛рдВрдмреА рел рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ рдЕрд╢рд╛ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛.
рдирд┐рд░реНрдгрдп
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 рд╡рд░реНрдг рдЖрд╣реЗрдд, рдкрд░рдВрддреБ '_' рдирдВрддрд░рдЪреЗ рд╣реЗ рдореВрд▓реНрдп 'CLERK' рд╕рд╛рд░рдЦреЗ рдирд╛рд╣реА.
рдирд┐рд░реНрдгрдп
SELECT *
FROM employees
WHERE LENGTH (SUBSTR (job_id, INSTR (job_id, '_') + 1)) > 3
AND SUBSTR (job_id, INSTR (job_id, '_') + 1) != 'CLERK';
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. PHONE_NUMBER рдореВрд▓реНрдпрд╛рддреАрд▓ рд╕рд░реНрд╡ '.' рдмрджрд▓реВрди рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдЪреА рд╕реВрдЪреА рдорд┐рд│рд╡рд╛ '-' рд╡рд░
рдирд┐рд░реНрдгрдп
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 рдЬреВрди 2007
рдирд┐рд░реНрдгрдп
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;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. рейреж рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрд╕рд╣ рд╡рд┐рднрд╛рдЧ_рдЖрдпрдбреАрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛
рдирд┐рд░реНрдгрдп
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;
рджреЗрд╢рд╛рдВрдЪреЗ рдЯреЗрдмрд▓. рд╕рд░реНрд╡ рджреЗрд╢рд╛рдВрдЪреНрдпрд╛_рдирд╛рд╡рд╛рдВрдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЕрдХреНрд╖рд░рд╛рдВрдЪреНрдпрд╛ рдкреНрд░рджреЗрд╢_рдЖрдпрдбреА рдмреЗрд░реАрдЬрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ ремреж рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд
рдирд┐рд░реНрдгрдп
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;
рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓. 'CLERK' рд╢рдмреНрджрд╛рдиреЗ рд╕рдВрдкрдгрд╛рд▒реНрдпрд╛ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдХрдбреВрди рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдкрдЧрд╛рд░ рдорд┐рд│рд╡рд╛ job_id
рдирд┐рд░реНрдгрдп
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;
рдЯреЗрдмрд▓ рдХрд░реНрдордЪрд╛рд░реА, рдиреЛрдХрд░реА, рд╡рд┐рднрд╛рдЧ. рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдирд╛ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рджрд╛рдЦрд╡рд╛: First_name, Job_title, Department_name.
рдЙрджрд╛рд╣рд░рдг:
рдирд╛рд╡ | рдиреЛрдХрд░реА рд╢реАрд░реНрд╖рдХ | рд╡рд┐рднрд╛рдЧрд╛рдЪреЗ рдирд╛рд╡
рдбреЛрдирд╛рд▓реНрдб | рд╢рд┐рдкрд┐рдВрдЧ | рд▓рд┐рдкрд┐рдХ рд╢рд┐рдкрд┐рдВрдЧ
рдирд┐рд░реНрдгрдп
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');
рдЯреЗрдмрд▓ рдХрд░реНрдордЪрд╛рд░реА, рдиреЛрдХрд░реА, рд╡рд┐рднрд╛рдЧ. рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдирд╛ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рджрд╛рдЦрд╡рд╛: First_name, Job_title, Department_name.
рдЙрджрд╛рд╣рд░рдг:
рдирд╛рд╡ | рдиреЛрдХрд░реА рд╢реАрд░реНрд╖рдХ | рд╡рд┐рднрд╛рдЧрд╛рдЪреЗ рдирд╛рд╡
рдбреЛрдирд╛рд▓реНрдб | рд╢рд┐рдкрд┐рдВрдЧ | рд▓рд┐рдкрд┐рдХ рд╢рд┐рдкрд┐рдВрдЧ
рдирд┐рд░реНрдгрдп
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;
рд╕рдзреНрдпрд╛ рдПрд╡рдвреЗрдЪ.
рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдХрд╛рд░реНрдпреЗ рдордиреЛрд░рдВрдЬрдХ рдЖрдгрд┐ рд░реЛрдорд╛рдВрдЪрдХ рд╣реЛрддреА.
рдореА рдпрд╛ рдпрд╛рджреАрдд рд╢рдХреНрдп рддрд┐рддрдХреА рднрд░ рдШрд╛рд▓реЗрди.
рдорд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдЖрдгрд┐ рд╕реВрдЪрдирд╛рдВрдмрджреНрджрд▓ рдЖрдирдВрдж рд╣реЛрдИрд▓.
PS: рдЬрд░ рдХреЛрдгреА SELECT рд╡рд░ рдордиреЛрд░рдВрдЬрдХ рдХрд╛рд░реНрдп рдШреЗрдКрди рдпреЗрдд рдЕрд╕реЗрд▓ рддрд░ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд▓рд┐рд╣рд╛, рдореА рддреЗ рд╕реВрдЪреАрдордзреНрдпреЗ рдЬреЛрдбреЗрди.
╨б╨┐╨░╤Б╨╕╨▒╨╛.
рд╕реНрддреНрд░реЛрдд: www.habr.com