рд╣реЗрд▓реЛ рд╣рдмрд░!
3 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗрдВрджреНрд░реЛрдВ рдореЗрдВ рдПрд╕рдХреНрдпреВрдПрд▓ рдкрдврд╝рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рдХреЛрдИ рдХрд╛рд░реНрдп рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╡реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмреЗрд╣рддрд░ рд╕рдордЭрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдФрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдиреАрдВрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдореИрдВ рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рд╣реЛрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдЬрд┐рди рдкрд░ рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рдЪрд╛рд░-рдордВрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ SQL рдХреА рдЧрд╣рд░реА рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╕рдордЭ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИред
SQL (╦И╔Ыs╦Иkju╦И╔Ыl; рдЗрдВрдЬреА. рд╕рдВрд░рдЪрд┐рдд рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛) рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдк SQL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕ рдЖрд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрдн рд╕реЗ SQL рд╕рд┐рдЦрд╛рдирд╛ рдирд╣реАрдВ рд╣реИред
рддреЛ, рдЪрд▓реЛ рдЪрд▓реЗрдВ
рд╣рдо рдкреНрд░рд╕рд┐рджреНрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
рдореИрдВ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ SELECT рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдбреАрдПрдордПрд▓ рдФрд░ рдбреАрдбреАрдПрд▓ рдкрд░ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИрдВред
рдХрд╛рд░реНрдп
рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛
рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдореЗрдЬ. рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд╕рдорд╛рдзрд╛рди
SELECT * FROM employees
рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдореЗрдЬ. 'рдбреЗрд╡рд┐рдб' рдирд╛рдо рдХреЗ рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд╕рдорд╛рдзрд╛рди
SELECT *
FROM employees
WHERE first_name = 'David';
рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдореЗрдЬ. 'IT_PROG' рдХреЗ рдмрд░рд╛рдмрд░ рдЬреЙрдм_рдЖрдИрдбреА рд╡рд╛рд▓реЗ рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд╕рдорд╛рдзрд╛рди
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;
рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдореЗрдЬ. рдЙрди рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬрд┐рдирдХреЗ рдирд╛рдо рдХрд╛ рдЕрдВрддрд┐рдо рдЕрдХреНрд╖рд░ '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 рдЕрдХреНрд╖рд░ 'рдПрди' рд╣реИрдВ
рд╕рдорд╛рдзрд╛рди
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;
рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдореЗрдЬ. рдЙрди рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬрд┐рдирдХреЗ рдирд╛рдо рдореЗрдВ 'рдмреА' рдЕрдХреНрд╖рд░ рд╣реИ (рдХреЗрд╕ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓)
рд╕рдорд╛рдзрд╛рди
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;
рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдореЗрдЬ. рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рдлрд╝реЛрди рдирдВрдмрд░ рдХрд╛ рдкрд╣рд▓рд╛ 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' рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдФрд░ рдирд╛рдо рдХреА рд▓рдВрдмрд╛рдИ 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 рдЕрдХреНрд╖рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди '_' рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╛рди '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;
рд╕рдореВрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХрддреНрд░рд┐рдд рдбреЗрдЯрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд░рдирд╛
рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдореЗрдЬ. рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рд╡реЗрддрди, рдЬрд▓реНрджреА рдФрд░ рджреЗрд░ рд╕реЗ рдЖрдЧрдорди рдХреА рддрд╛рд░реАрдЦреЛрдВ рдФрд░ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд╛рдЧ_рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ (desc)
рд╕рдорд╛рдзрд╛рди
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;
рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рд░реЛрдЪрдХ рдФрд░ рд░реЛрдорд╛рдВрдЪрдХ рдереЗред
рдореИрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝ рджреВрдБрдЧрд╛ред
рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЯрд┐рдкреНрдкрдгреА рдФрд░ рд╕реБрдЭрд╛рд╡ рдкрд░ рднреА рдЦреБрд╢реА рд╣реЛрдЧреАред
рдкреБрдирд╢реНрдЪ: рдпрджрд┐ рдХреЛрдИ SELECT рдкрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдп рд▓реЗрдХрд░ рдЖрддрд╛ рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдореИрдВ рдЗрд╕реЗ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ред
рдзрдиреНрдпрд╡рд╛рдж.
рд╕реНрд░реЛрдд: www.habr.com