āĻšā§āĻ¯āĻžāĻ˛ā§ āĻšāĻžāĻŦāĻ°!
3 āĻŦāĻāĻ°ā§āĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§ āĻāĻŽāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻļāĻŋāĻā§āĻˇāĻŖ āĻā§āĻ¨ā§āĻĻā§āĻ°ā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻļā§āĻāĻžāĻā§āĻāĻŋ, āĻāĻŦāĻ āĻāĻŽāĻžāĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻšāĻ˛ āĻ¯ā§ āĻļāĻŋāĻā§āĻˇāĻžāĻ°ā§āĻĨā§āĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ¸ā§āĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻ¤āĻžāĻ°āĻž āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻ°āĻ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻ¯āĻŧāĻ¤ā§āĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻŦā§āĻā§, āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻāĻŦāĻ āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛ā§ āĻ¨āĻžāĨ¤
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§, āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻŦ āĻ¯āĻž āĻāĻŽāĻŋ āĻļāĻŋāĻā§āĻˇāĻžāĻ°ā§āĻĨā§āĻĻā§āĻ° āĻšā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĻā§āĻ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§āĻ° āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻ¤ā§āĻ¤āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻŋ, āĻ¯āĻž SQL āĻāĻ° āĻāĻā§āĻ° āĻāĻŦāĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻŦā§āĻāĻžāĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
SQL (ËÉsËkjuËÉl; eng. āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻĄ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻ˛ā§āĻ¯āĻžāĻā§āĻā§āĻ¯āĻŧā§āĻ) āĻšāĻ˛ āĻāĻāĻāĻŋ āĻā§āĻˇāĻŖāĻžāĻŽā§āĻ˛āĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž āĻ¯āĻž āĻāĻāĻāĻŋ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻŽā§āĻ¨ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĄā§āĻāĻž āĻ¤ā§āĻ°āĻŋ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĨā§āĻā§ SQL āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ 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āĻ¤āĻŽ āĻŦāĻŋāĻāĻžāĻ (department_id) āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻžāĻ¨ āĻ¯āĻžāĻĻā§āĻ° āĻŦā§āĻ¨āĻžāĻ¸ āĻ°āĻ¯āĻŧā§āĻā§ (āĻāĻŽāĻŋāĻļāĻ¨_āĻĒāĻŋāĻ¸āĻŋāĻāĻŋ āĻāĻ˛āĻžāĻŽā§ āĻŽāĻžāĻ¨ āĻāĻžāĻ˛āĻŋ āĻ¨ā§āĻ)
āĻ°āĻžāĻ¯āĻŧ
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' āĻāĻ° āĻ¸āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻ¨āĻžāĻŽā§āĻ° āĻĻā§āĻ°ā§āĻā§āĻ¯ 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;
āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ˛āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻžāĻ¨ āĻ¯āĻžāĻĻā§āĻ° '_' āĻāĻŋāĻšā§āĻ¨ā§āĻ° āĻĒāĻ°ā§ job_id āĻāĻ° āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§ āĻāĻŽāĻĒāĻā§āĻˇā§ 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;
āĻā§āĻ°ā§āĻĒ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻŽāĻˇā§āĻāĻŋāĻāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ āĻāĻ°āĻž
āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ˛āĨ¤ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻŦā§āĻ¤āĻ¨, āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ¤ā§ āĻāĻāĻŽāĻ¨ā§āĻ° āĻ¤āĻžāĻ°āĻŋāĻ āĻāĻŦāĻ āĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¸āĻš 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;
āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ˛āĨ¤ 30 āĻāĻŋāĻ°āĻ āĻŦā§āĻļāĻŋ āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§ āĻ¸āĻš 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;
āĻĻā§āĻļ āĻā§āĻŦāĻŋāĻ˛āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻā§āĻļā§āĻ°_āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ
āĻā§āĻˇāĻ°ā§āĻ° āĻ
āĻā§āĻāĻ˛_āĻāĻāĻĄāĻŋ āĻ¯ā§āĻāĻĢāĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻžāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ 60āĻāĻŋāĻ° āĻŦā§āĻļāĻŋ
āĻ°āĻžāĻ¯āĻŧ
SELECT region_id
FROM countries
GROUP BY region_id
HAVING SUM (LENGTH (country_name)) > 60;
āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ˛āĨ¤ āĻĄāĻŋāĻĒāĻžāĻ°ā§āĻāĻŽā§āĻ¨ā§āĻ_āĻāĻāĻĄāĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻžāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ (>1) job_id-āĻāĻ° āĻāĻ°ā§āĻŽā§āĻ°āĻž āĻāĻžāĻ āĻāĻ°ā§
āĻ°āĻžāĻ¯āĻŧ
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' āĻļāĻŦā§āĻĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻˇ āĻšāĻāĻ¯āĻŧāĻž āĻ¸āĻāĻ˛ āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻ° āĻāĻžāĻāĻ°āĻŋ_āĻāĻāĻĄāĻŋ āĻĨā§āĻā§ āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻŦā§āĻ¤āĻ¨ āĻĒāĻžāĻ¨
āĻ°āĻžāĻ¯āĻŧ
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 āĻā§āĻŦāĻŋāĻ˛āĻāĻŋ āĻāĻŽāĻ¨ āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ°āĻžāĻā§ āĻ¯āĻžāĻ°āĻž āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋ āĻā§āĻĄāĻŧā§ āĻāĻ˛ā§ āĻā§āĻā§āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ
āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ āĻĒāĻžāĻ¨ (āĻ¨āĻŋāĻ¯ā§āĻā§āĻ¤ āĻŦāĻž āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻ¤āĻžāĻ°āĻŋāĻ āĻ¸āĻš āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋ āĻā§āĻĄāĻŧā§ āĻā§āĻā§)
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
āĻĒā§āĻ°āĻĨāĻŽ_āĻ¨āĻžāĻŽ | āĻ
āĻŦāĻ¸ā§āĻĨāĻž
āĻā§āĻ¨āĻŋāĻĢāĻžāĻ° | 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;
āĻā§āĻŦāĻŋāĻ˛ āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§, āĻāĻžāĻāĻ°āĻŋ, āĻŦāĻŋāĻāĻžāĻāĨ¤ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻā§ āĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻĻā§āĻāĻžāĻ¨: āĻĒā§āĻ°āĻĨāĻŽ_āĻ¨āĻžāĻŽ, āĻāĻžāĻāĻ°āĻŋāĻ°_āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ, āĻŦāĻŋāĻāĻžāĻ_āĻ¨āĻžāĻŽāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
āĻĒā§āĻ°āĻĨāĻŽ_āĻ¨āĻžāĻŽ | āĻāĻžāĻā§āĻ° āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ | āĻŦāĻŋāĻāĻžāĻ āĻ¨āĻžāĻŽ
āĻĄā§āĻ¨āĻžāĻ˛ā§āĻĄ | āĻļāĻŋāĻĒāĻŋāĻ | āĻā§āĻ˛āĻžāĻ°ā§āĻ āĻļāĻŋāĻĒāĻŋāĻ
āĻ°āĻžāĻ¯āĻŧ
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;
āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ Subqueries āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ˛āĨ¤ āĻĻā§āĻ°ā§āĻāĻ¤āĻŽ āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻ°ā§āĻŽāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻžāĻ¨āĨ¤
āĻ°āĻžāĻ¯āĻŧ
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;
āĻāĻāĻ¨ āĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĻ.
āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ¤ā§āĻ¤ā§āĻāĻ¨āĻžāĻĒā§āĻ°ā§āĻŖ āĻāĻŋāĻ˛āĨ¤
āĻāĻŽāĻŋ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻ āĻāĻ°āĻŦāĨ¤
āĻāĻŽāĻŋ āĻā§āĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻŦāĻ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻā§āĻļāĻŋ āĻšāĻŦā§.
PS: āĻ¯āĻĻāĻŋ āĻā§āĻ SELECT āĻ āĻāĻāĻāĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻžāĻ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§, āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§ āĻ˛āĻŋāĻā§āĻ¨, āĻāĻŽāĻŋ āĻāĻāĻŋāĻā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻŦāĨ¤
ĐĄĐŋĐ°ŅийОāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com