ಹಲೋ, ಹಬ್ರ್!
3 ವರ್ಷಗಳಿಂದ ನಾನು ವಿವಿಧ ತರಬೇತಿ ಕೇಂದ್ರಗಳಲ್ಲಿ SQL ಅನ್ನು ಬೋಧಿಸುತ್ತಿದ್ದೇನೆ ಮತ್ತು ನನ್ನ ಅವಲೋಕನಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ, ವಿದ್ಯಾರ್ಥಿಗಳು ಅವರಿಗೆ ಕೆಲಸವನ್ನು ನೀಡಿದರೆ SQL ಅನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುತ್ತಾರೆ ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತಾರೆ ಮತ್ತು ಕೇವಲ ಸಾಧ್ಯತೆಗಳು ಮತ್ತು ಸೈದ್ಧಾಂತಿಕ ಅಡಿಪಾಯಗಳ ಬಗ್ಗೆ ಹೇಳುವುದಿಲ್ಲ.
ಈ ಲೇಖನದಲ್ಲಿ, ನಾನು ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಮನೆಕೆಲಸವಾಗಿ ನೀಡುವ ನನ್ನ ಸಮಸ್ಯೆಗಳ ಪಟ್ಟಿಯನ್ನು ನಿಮ್ಮೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ ಮತ್ತು ನಾವು ವಿವಿಧ ರೀತಿಯ ಬುದ್ದಿಮತ್ತೆಗಳನ್ನು ನಡೆಸುತ್ತೇವೆ, ಇದು SQL ನ ಆಳವಾದ ಮತ್ತು ಸ್ಪಷ್ಟವಾದ ತಿಳುವಳಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
SQL (ˈɛsˈkjuˈɛl; ಇಂಗ್ಲಿಷ್ ರಚನಾತ್ಮಕ ಪ್ರಶ್ನೆ ಭಾಷೆ) ಎನ್ನುವುದು ಸೂಕ್ತವಾದ ಡೇಟಾಬೇಸ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯಿಂದ ನಿರ್ವಹಿಸಲ್ಪಡುವ ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಡೇಟಾವನ್ನು ರಚಿಸಲು, ಮಾರ್ಪಡಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಬಳಸುವ ಘೋಷಣಾತ್ಮಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದೆ.
ನೀವು ವಿವಿಧ 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ನೇ ಇಲಾಖೆಯಿಂದ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ (ಡಿಪಾರ್ಟ್ಮೆಂಟ್_ಐಡಿ)
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE department_id = 20 OR department_id = 30;
ನೌಕರರ ಟೇಬಲ್. ಅವರ ಹೆಸರಿನ ಕೊನೆಯ ಅಕ್ಷರ 'a' ಆಗಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE first_name LIKE '%a';
ನೌಕರರ ಟೇಬಲ್. ಬೋನಸ್ ಹೊಂದಿರುವ 50ನೇ ಮತ್ತು 80ನೇ ಇಲಾಖೆಯಿಂದ (ಡಿಪಾರ್ಟ್ಮೆಂಟ್_ಐಡಿ) ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ (ಕಮಿಷನ್_ಪಿಕ್ಟ್ ಕಾಲಮ್ನಲ್ಲಿನ ಮೌಲ್ಯವು ಖಾಲಿಯಾಗಿಲ್ಲ)
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE (department_id = 50 OR department_id = 80)
AND commission_pct IS NOT NULL;
ನೌಕರರ ಟೇಬಲ್. ಕನಿಷ್ಠ 2 ಅಕ್ಷರಗಳು 'n' ಅನ್ನು ಹೊಂದಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE first_name LIKE '%n%n%';
ನೌಕರರ ಟೇಬಲ್. 4 ಅಕ್ಷರಗಳಿಗಿಂತ ಉದ್ದವಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE first_name LIKE '%_____%';
ನೌಕರರ ಟೇಬಲ್. 8000 ರಿಂದ 9000 (ಒಳಗೊಂಡಂತೆ) ಶ್ರೇಣಿಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE salary BETWEEN 8000 AND 9000;
ನೌಕರರ ಟೇಬಲ್. '%' ಚಿಹ್ನೆಯನ್ನು ಹೊಂದಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE first_name LIKE '%%%' ESCAPE '';
ನೌಕರರ ಟೇಬಲ್. ಎಲ್ಲಾ ಮ್ಯಾನೇಜರ್ ಐಡಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT DISTINCT manager_id
FROM employees
WHERE manager_id IS NOT NULL;
ನೌಕರರ ಟೇಬಲ್. ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಅವರ ಸ್ಥಾನಗಳೊಂದಿಗೆ ಸ್ವರೂಪದಲ್ಲಿ ಪಡೆಯಿರಿ: ಡೊನಾಲ್ಡ್(sh_clerk)
ನಿರ್ಧಾರವನ್ನು
SELECT first_name || '(' || LOWER (job_id) || ')' employee FROM employees;
ಔಟ್ಪುಟ್ ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಏಕ-ಸಾಲು ಕಾರ್ಯಗಳನ್ನು ಬಳಸುವುದು
ನೌಕರರ ಟೇಬಲ್. 10 ಅಕ್ಷರಗಳಿಗಿಂತ ಉದ್ದವಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE LENGTH (first_name) > 10;
ನೌಕರರ ಟೇಬಲ್. ತಮ್ಮ ಹೆಸರಿನಲ್ಲಿ 'b' ಅಕ್ಷರವನ್ನು ಹೊಂದಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ (ಕೇಸ್ ಸೆನ್ಸಿಟಿವ್)
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE INSTR (LOWER (first_name), 'b') > 0;
ನೌಕರರ ಟೇಬಲ್. ಕನಿಷ್ಠ 2 ಅಕ್ಷರಗಳು 'a' ಹೊಂದಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE INSTR (LOWER (first_name),'a',1,2) > 0;
ನೌಕರರ ಟೇಬಲ್. 1000 ರ ಬಹುಸಂಖ್ಯೆಯ ಸಂಬಳ ಹೊಂದಿರುವ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
SELECT *
FROM employees
WHERE MOD (salary, 1000) = 0;
ನೌಕರರ ಟೇಬಲ್. ಉದ್ಯೋಗಿಯ ಸಂಖ್ಯೆಯು XXX.XXX.XXXX ಸ್ವರೂಪದಲ್ಲಿದ್ದರೆ ಅವರ ಫೋನ್ ಸಂಖ್ಯೆಯ ಮೊದಲ 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;
ನೌಕರರ ಟೇಬಲ್. ಪೂರ್ಣ ಸಂಬಳದೊಂದಿಗೆ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ (ಸಂಬಳ + ಕಮಿಷನ್_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'
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 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಉದ್ಯೋಗಿಗಳನ್ನು ಹೊಂದಿರುವ ಡಿಪಾರ್ಟ್ಮೆಂಟ್_ಐಡಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ
ನಿರ್ಧಾರವನ್ನು
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 ರವರೆಗಿನ ವ್ಯಾಪ್ತಿಯಲ್ಲಿದೆ ಮತ್ತು ಬೋನಸ್ಗಳನ್ನು ಪಡೆಯದಿರುವ manager_idಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ (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 ಟೇಬಲ್ ಕಂಪನಿಯನ್ನು ತೊರೆದ ಉದ್ಯೋಗಿಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಕಂಪನಿಯಲ್ಲಿನ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳು ಮತ್ತು ಅವರ ಸ್ಥಿತಿಯ ಬಗ್ಗೆ ವರದಿಯನ್ನು ಪಡೆಯಿರಿ (ಕೆಲಸಗಳು ಅಥವಾ ನಿರ್ಗಮನದ ದಿನಾಂಕದೊಂದಿಗೆ ಕಂಪನಿಯನ್ನು ತೊರೆದರು)
ಉದಾಹರಣೆ:
ಮೊದಲ_ಹೆಸರು | ಸ್ಥಿತಿ
ಜೆನ್ನಿಫರ್ | ಡಿಸೆಂಬರ್ 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;
ಪ್ರಶ್ನೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಉಪಪ್ರಶ್ನೆಗಳನ್ನು ಬಳಸುವುದು
ನೌಕರರ ಟೇಬಲ್. ಉದ್ದನೆಯ ಹೆಸರಿನ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಿರಿ.
ನಿರ್ಧಾರವನ್ನು
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: ಯಾರಾದರೂ ಆಸಕ್ತಿದಾಯಕ ಆಯ್ಕೆ ಕಾರ್ಯದೊಂದಿಗೆ ಬಂದರೆ, ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ಬರೆಯಿರಿ ಮತ್ತು ನಾನು ಅದನ್ನು ಪಟ್ಟಿಗೆ ಸೇರಿಸುತ್ತೇನೆ.
ಧನ್ಯವಾದಗಳು.
ಮೂಲ: www.habr.com