SQL. ู…ุณู„ูŠุฉ ุงู„ุฃู„ุบุงุฒ

ู…ุฑุญุจุง ูŠุง ู‡ุจุฑ!

ู…ู†ุฐ ุฃูƒุซุฑ ู…ู† 3 ุณู†ูˆุงุช ุŒ ู‚ู…ุช ุจุชุฏุฑูŠุณ ู„ุบุฉ ุงู„ุงุณุชุนู„ุงู…ุงุช ุงู„ุจู†ูŠูˆูŠุฉ ููŠ ู…ุฑุงูƒุฒ ุชุฏุฑูŠุจ ู…ุฎุชู„ูุฉ ุŒ ูˆุฃุญุฏ ู…ู„ุงุญุธุงุชูŠ ู‡ูŠ ุฃู† ุงู„ุทู„ุงุจ ูŠุชู‚ู†ูˆู† ู„ุบุฉ ุงู„ุงุณุชุนู„ุงู…ุงุช ุงู„ุจู†ูŠูˆูŠุฉ ูˆูŠูู‡ู…ูˆู†ู‡ุง ุจุดูƒู„ ุฃูุถู„ ุฅุฐุง ู‚ุงู…ูˆุง ุจู…ู‡ู…ุฉ ุŒ ูˆู„ูŠุณ ูู‚ุท ุงู„ุญุฏูŠุซ ุนู† ุงู„ุงุญุชู…ุงู„ุงุช ูˆุงู„ุฃุณุณ ุงู„ู†ุธุฑูŠุฉ.

ููŠ ู‡ุฐู‡ ุงู„ู…ู‚ุงู„ุฉ ุŒ ุณูˆู ุฃุดุงุฑูƒูƒู… ููŠ ู‚ุงุฆู…ุฉ ุงู„ู…ู‡ุงู… ุงู„ุชูŠ ุฃุณู†ุฏู‡ุง ุฅู„ู‰ ุงู„ุทู„ุงุจ ูƒูˆุงุฌุจ ู…ู†ุฒู„ูŠ ูˆู†ุฌุฑูŠ ุฎู„ุงู„ู‡ุง ุฃู†ูˆุงุนู‹ุง ู…ุฎุชู„ูุฉ ู…ู† ุงู„ุนุตู ุงู„ุฐู‡ู†ูŠ ุŒ ู…ู…ุง ูŠุคุฏูŠ ุฅู„ู‰ ูู‡ู… ุนู…ูŠู‚ ูˆูˆุงุถุญ ู„ู€ SQL.



SQL (querysหˆkjuหˆษ›l ุ› ู„ุบุฉ ุงู„ุงุณุชุนู„ุงู… ุงู„ู‡ูŠูƒู„ูŠุฉ ุงู„ุฅู†ุฌู„ูŠุฒูŠุฉ) ู‡ูŠ ู„ุบุฉ ุจุฑู…ุฌุฉ ุชุนุฑูŠููŠุฉ ุชุณุชุฎุฏู… ู„ุฅู†ุดุงุก ูˆุชุนุฏูŠู„ ูˆุฅุฏุงุฑุฉ ุงู„ุจูŠุงู†ุงุช ููŠ ู‚ุงุนุฏุฉ ุจูŠุงู†ุงุช ุนู„ุงุฆู‚ูŠุฉ ูŠุฏูŠุฑู‡ุง ู†ุธุงู… ู…ู†ุงุณุจ ู„ุฅุฏุงุฑุฉ ู‚ุงุนุฏุฉ ุงู„ุจูŠุงู†ุงุช. ู…ุนุฑูุฉ ุงู„ู…ุฒูŠุฏ

ูŠู…ูƒู†ูƒ ุฃู† ุชู‚ุฑุฃ ุนู† SQL ู…ู† ู…ุตุงุฏุฑ ู…ุฎุชู„ูุฉ.
ู„ุง ุชู‡ุฏู ู‡ุฐู‡ ุงู„ู…ู‚ุงู„ุฉ ุฅู„ู‰ ุชุนู„ูŠู…ูƒ ู„ุบุฉ SQL ู…ู† ุงู„ุจุฏุงูŠุฉ.

ู„ุฐู„ูƒ ุฏุนูˆู†ุง ู†ุฐู‡ุจ.

ุณู†ุณุชุฎุฏู… ู…ุฎุทุท ุงู„ู…ูˆุงุฑุฏ ุงู„ุจุดุฑูŠุฉ ุงู„ู…ุนุฑูˆู ููŠ Oracle ู…ุน ุฌุฏุงูˆู„ู‡ ( ุงู„ู…ุฒูŠุฏ ):


ุฃู„ุงุญุธ ุฃู†ู†ุง ุณู†ู†ุธุฑ ููŠ ู…ู‡ุงู… SELECT ูู‚ุท. ู„ุง ุชูˆุฌุฏ ู…ุดุงูƒู„ ู…ุน DML ูˆ DDL.

ุงู„ู…ู‡ุงู…


ุชู‚ูŠูŠุฏ ูˆูุฑุฒ ุงู„ุจูŠุงู†ุงุช

ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจู…ุนู„ูˆู…ุงุช ุนู† ุฌู…ูŠุน ุงู„ู…ูˆุธููŠู†
ู‚ุฑุงุฑ
SELECT * FROM employees 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ุงู„ู…ุณู…ู‰ "ุฏูŠููŠุฏ"
ู‚ุฑุงุฑ
 SELECT * FROM employees WHERE first_name = 'David'; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ุงู„ุฐูŠู† ู„ุฏูŠู‡ู… job_id ูŠุณุงูˆูŠ "IT_PROG"
ู‚ุฑุงุฑ
 SELECT * FROM employees WHERE job_id = 'IT_PROG' 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ู…ู† ุงู„ู‚ุณู… 50 (department_id) ู…ุน ุฑุงุชุจ (ุฑุงุชุจ) ุŒ ุฃูƒุซุฑ ู…ู† 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 (department_id) ุงู„ุฐูŠู† ู„ุฏูŠู‡ู… ู…ูƒุงูุฃุฉ (ุงู„ู‚ูŠู…ุฉ ููŠ ุงู„ุนู…ูˆุฏ commission_pct ู„ูŠุณุช ูุงุฑุบุฉ)
ู‚ุฑุงุฑ
 SELECT * FROM employees WHERE (department_id = 50 OR department_id = 80) AND commission_pct IS NOT NULL; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ุงู„ุฐูŠู† ูŠุญุชูˆูŠ ุงุณู…ู‡ู… ุนู„ู‰ ุญุฑููŠู† ุนู„ู‰ ุงู„ุฃู‚ู„
ู‚ุฑุงุฑ
 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; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ุงู„ุฐูŠู† ูŠุญุชูˆูŠ ุงุณู…ู‡ู… ุนู„ู‰ ุญุฑููŠู† ุนู„ู‰ ุงู„ุฃู‚ู„
ู‚ุฑุงุฑ
 SELECT * FROM employees WHERE INSTR (LOWER (first_name),'a',1,2) > 0; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ุงู„ุฐูŠู† ูŠุชู‚ุงุถูˆู† ุฑุงุชุจุง 1000
ู‚ุฑุงุฑ
 SELECT * FROM employees WHERE MOD (salary, 1000) = 0; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ุฃูˆู„ ุฑู‚ู… ู…ู† ุซู„ุงุซุฉ ุฃุฑู‚ุงู… ู„ุฑู‚ู… ู‡ุงุชู ุงู„ู…ูˆุธู ุฅุฐุง ูƒุงู† ุฑู‚ู…ู‡ ุจุงู„ุชู†ุณูŠู‚ XXXX.XXX.XXXX
ู‚ุฑุงุฑ
 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 AND INSTR (phone_number,'.',1,2) > 0; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ุงู„ุฐูŠู† ู„ุฏูŠู‡ู… 3 ุฃุญุฑู ุนู„ู‰ ุงู„ุฃู‚ู„ ููŠ ู‚ูŠู…ุฉ job_id ุจุนุฏ ุนู„ุงู…ุฉ "_" ุŒ ู„ูƒู† ู‡ุฐู‡ ุงู„ู‚ูŠู…ุฉ ุจุนุฏ "_" ู„ุง ุชุณุงูˆูŠ "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; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุจุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ุจุฑูˆุงุชุจ ูƒุงู…ู„ุฉ (ุฑุงุชุจ + commission_pct (ูช)) ุจุงู„ุชู†ุณูŠู‚: 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' WHEN salary >= 10000 THEN 'High' ELSE 'Unknown' 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; 



ุงู„ุฅุจู„ุงุบ ุนู† ุงู„ุจูŠุงู†ุงุช ุงู„ู…ุฌู…ุนุฉ ุจุงุณุชุฎุฏุงู… ูˆุธุงุฆู ุงู„ู…ุฌู…ูˆุนุฉ

ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ุชู‚ุฑูŠุฑ ุนู† department_id ู…ุน ุงู„ุญุฏ ุงู„ุฃุฏู†ู‰ ูˆุงู„ุญุฏ ุงู„ุฃู‚ุตู‰ ู„ู„ุฑุงุชุจ ุŒ ู…ุน ุชุงุฑูŠุฎ ู…ุจูƒุฑ ูˆู…ุชุฃุฎุฑ ู„ู„ูˆุตูˆู„ ุฅู„ู‰ ุงู„ุนู…ู„ ู…ุน ุนุฏุฏ ุงู„ู…ูˆุธููŠู†. ุงู„ุชุฑุชูŠุจ ุญุณุจ ุนุฏุฏ ุงู„ู…ูˆุธููŠู† (ุชู†ุงุฒู„ูŠ)
ู‚ุฑุงุฑ
  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; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ department_id ู…ุน ุฃูƒุซุฑ ู…ู† 30 ู…ูˆุธู
ู‚ุฑุงุฑ
  SELECT department_id FROM employees GROUP BY department_id HAVING COUNT (*) > 30; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ู…ู† department_id ูˆู…ุชูˆุณุท โ€‹โ€‹ู…ุฑุชุจ ู…ุฏูˆุฑ ู„ู„ู…ูˆุธููŠู† ููŠ ูƒู„ ู‚ุณู….
ู‚ุฑุงุฑ
  SELECT department_id, ROUND (AVG (salary)) avg_salary FROM employees GROUP BY department_id; 


ุฌุฏูˆู„ ุงู„ุฏูˆู„. ุงุญุตู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ region_id ุจู…ุฌู…ูˆุน ุฌู…ูŠุน ุญุฑูˆู ูƒู„ ุงุณู… ุงู„ุจู„ุฏ ุงู„ุชูŠ ููŠู‡ุง ุฃูƒุซุฑ ู…ู† 60
ู‚ุฑุงุฑ
  SELECT region_id FROM countries GROUP BY region_id HAVING SUM (LENGTH (country_name)) > 60; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ department_id ุงู„ุชูŠ ูŠุนู…ู„ ููŠู‡ุง ู…ูˆุธููˆ ุนุฏุฉ (> 1) job_id
ู‚ุฑุงุฑ
  SELECT department_id FROM employees GROUP BY department_id HAVING COUNT (DISTINCT job_id) > 1; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ manager_id ุงู„ุชูŠ ูŠุฒูŠุฏ ุนุฏุฏ ู…ุฑุคูˆุณู‡ุง ุนู† 5 ูˆู…ุจู„ุบ ูƒู„ ุฑูˆุงุชุจ ู…ุฑุคูˆุณูŠู‡ ุฃูƒุซุฑ ู…ู† 50000
ู‚ุฑุงุฑ
  SELECT manager_id FROM employees GROUP BY manager_id HAVING COUNT (*) > 5 AND SUM (salary) > 50000; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ manager_id ุงู„ุชูŠ ูŠุชุฑุงูˆุญ ู…ุชูˆุณุท โ€‹โ€‹ุฑุงุชุจ ุฌู…ูŠุน ู…ุฑุคูˆุณูŠู‡ ุจูŠู† 6000 ูˆ 9000 ู…ู…ู† ู„ุง ูŠุชู„ู‚ูˆู† ู…ูƒุงูุขุช (commission_pct ูุงุฑุบุฉ)
ู‚ุฑุงุฑ
  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; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู†. ุงุญุตู„ ุนู„ู‰ ุงู„ุญุฏ ุงู„ุฃู‚ุตู‰ ู„ู„ุฑุงุชุจ ู…ู† ุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† job_id ุงู„ุฐูŠ ูŠู†ุชู‡ูŠ ุจูƒู„ู…ุฉ "CLERK"
ู‚ุฑุงุฑ
 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; 


ุฌุฏูˆู„ ุงู„ู…ูˆุธููŠู† ุŒ Job_history. ุฌุฏูˆู„ ุงู„ู…ูˆุธู ุจุชุฎุฒูŠู† ุฌู…ูŠุน ุงู„ู…ูˆุธููŠู†. ูŠุฎุฒู† ุงู„ุฌุฏูˆู„ Job_history ุงู„ู…ูˆุธููŠู† ุงู„ุฐูŠู† ุชุฑูƒูˆุง ุงู„ุดุฑูƒุฉ. ุงู„ุญุตูˆู„ ุนู„ู‰ ุชู‚ุฑูŠุฑ ุนู† ุฌู…ูŠุน ุงู„ู…ูˆุธููŠู† ูˆุญุงู„ุชู‡ู… ููŠ ุงู„ุดุฑูƒุฉ (ูŠุนู…ู„ ุฃูˆ ุชุฑูƒ ุงู„ุดุฑูƒุฉ ู…ุน ุชุงุฑูŠุฎ ุงู„ู…ุบุงุฏุฑุฉ)
ู…ุซุงู„:
ุงู„ุงุณู… ุงู„ุงูˆู„ | ูˆุถุน
ุฌู†ูŠูุฑ | ุบุงุฏุฑ ุงู„ุดุฑูƒุฉ ููŠ 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); 


ุงู„ู…ูˆุธููŠู† ุŒ ุงู„ุฅุฏุงุฑุงุช ุŒ ุงู„ู…ูˆุงู‚ุน ุŒ ุงู„ุจู„ุฏุงู† ุŒ ุฌุฏูˆู„ ุงู„ู…ู†ุงุทู‚. ุงู„ุญุตูˆู„ ุนู„ู‰ ู‚ุงุฆู…ุฉ ุงู„ู…ูˆุธููŠู† ุงู„ุฐูŠู† ูŠุนูŠุดูˆู† ููŠ ุฃูˆุฑูˆุจุง (region_name)
ู‚ุฑุงุฑ
  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.
ู…ุซุงู„:
ุงู„ุงุณู… ุงู„ุฃูˆู„ | 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.
ู…ุซุงู„:
ุงู„ุงุณู… ุงู„ุฃูˆู„ | 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; 



ู‡ุฐุง ูƒู„ ุดูŠุก ุงู„ุขู†.

ุขู…ู„ ุฃู† ุชูƒูˆู† ุงู„ู…ู‡ุงู… ู…ุซูŠุฑุฉ ู„ู„ุงู‡ุชู…ุงู… ูˆุฑุงุฆุนุฉ.
ุฅู† ุฃู…ูƒู† ุŒ ุณุฃูƒู…ู„ ู‚ุงุฆู…ุฉ ุงู„ู…ู‡ุงู… ู‡ุฐู‡.
ุณุฃูƒูˆู† ุณุนูŠุฏู‹ุง ุฃูŠุถู‹ุง ุจุฃูŠ ุชุนู„ูŠู‚ุงุช ุฃูˆ ุงู‚ุชุฑุงุญุงุช.

ู…ู„ุงุญุธุฉ: ุฅุฐุง ุฌุงุก ุดุฎุต ู…ุง ุจู…ู‡ู…ุฉ SELECT ู…ุซูŠุฑุฉ ู„ู„ุงู‡ุชู…ุงู… ุŒ ูุงูƒุชุจ ููŠ ุงู„ุชุนู„ูŠู‚ุงุช ุŒ ุฃุถู ุฅู„ู‰ ุงู„ู‚ุงุฆู…ุฉ.

ุดูƒุฑุง ู„ูƒ

Source: https://habr.com/ru/post/ar461567/


All Articles