Skip to content

Commit 93c7cef

Browse files
committed
add files
1 parent f876e15 commit 93c7cef

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
-- 1. Employee Address
2+
3+
SELECT e.employee_id,e.job_title,a.address_id,a.address_text
4+
FROM employees AS e
5+
JOIN addresses AS a ON e.address_id = a.address_id
6+
ORDER BY a.address_id
7+
LIMIT 5;
8+
9+
-- 2. Addresses with Towns
10+
SELECT e.first_name,e.last_name,t.name,a.address_text
11+
FROM employees AS e
12+
JOIN addresses AS a
13+
JOIN towns t ON e.address_id = a.address_id
14+
AND a.town_id = t.town_id
15+
ORDER BY e.first_name,e.last_name
16+
LIMIT 5;
17+
18+
-- 3. Sales Employee
19+
SELECT e.employee_id,e.first_name,e.last_name,d.name
20+
FROM employees AS e
21+
JOIN departments AS d ON e.department_id = d.department_id
22+
WHERE d.name = 'Sales'
23+
ORDER BY e.employee_id DESC;
24+
25+
-- 4. Employee Departments
26+
SELECT e.employee_id,e.first_name,e.salary,d.name
27+
FROM employees AS e
28+
JOIN departments AS d ON e.department_id = d.department_id
29+
WHERE e.salary > 15000
30+
ORDER BY d.department_id DESC
31+
LIMIT 5;
32+
33+
-- 5. Employees Without Project
34+
SELECT e.employee_id,e.first_name
35+
FROM employees AS e
36+
LEFT JOIN employees_projects AS ep ON e.employee_id = ep.employee_id
37+
WHERE ep.project_id IS NULL
38+
ORDER BY e.employee_id DESC
39+
LIMIT 3;
40+
41+
-- 6. Employees Hired After
42+
SELECT e.first_name,e.last_name,e.hire_date,d.name AS dept_name
43+
FROM employees AS e
44+
JOIN departments AS d ON e.department_id = d.department_id
45+
WHERE d.name IN('Sales','Finance')
46+
AND DATE (e.hire_date) > '1999/1/1'
47+
ORDER BY e.hire_date;
48+
49+
-- 7. Employees with Project
50+
SELECT e.employee_id,e.first_name,p.name
51+
FROM employees AS e
52+
JOIN employees_projects AS ep ON e.employee_id = ep.employee_id
53+
JOIN projects AS p ON ep.project_id = p.project_id
54+
WHERE DATE(p.start_date) > ('2002-08-13')
55+
AND ISNULL(p.end_date)
56+
ORDER BY e.first_name,p.name
57+
LIMIT 5;
58+
59+
-- 8. Employee 24
60+
SELECT e.employee_id,e.first_name,IF(YEAR(p.start_date) >= 2005,NULL,p.name)
61+
FROM employees AS e
62+
JOIN employees_projects AS ep ON e.employee_id = ep.employee_id
63+
JOIN projects AS p ON ep.project_id = p.project_id
64+
WHERE ep.employee_id = 24
65+
ORDER BY p.name;
66+
67+
-- 9. Employee Manager
68+
SELECT e.employee_id,e.first_name,e.manager_id,m.first_name
69+
FROM employees AS e
70+
JOIN employees AS m ON e.manager_id = m.employee_id
71+
WHERE e.manager_id IN (3,7)
72+
ORDER BY e.first_name;
73+
74+
75+
-- 10. Employee Summary
76+
SELECT e.employee_id,
77+
CONCAT(e.first_name,' ',e.last_name) AS 'employee_name',
78+
CONCAT(m.first_name,' ',m.last_name) AS 'manager_name',
79+
d.name AS department_name
80+
FROM employees AS e
81+
JOIN employees AS m ON m.employee_id=e.manager_id
82+
JOIN departments AS d ON e.department_id=d.department_id
83+
ORDER BY e.employee_id
84+
LIMIT 5;
85+
86+
-- 11. Min Average Salary
87+
88+
SELECT MIN(min_avg_salary) AS 'min_average_salary'
89+
FROM
90+
(
91+
SELECT AVG(salary) AS min_avg_salary
92+
FROM employees
93+
GROUP BY department_id
94+
) AS min_salaries;
95+
96+
USE geography;
97+
98+
-- 12. Highest Peaks in Bulgaria
99+
SELECT mk.country_code,m.mountain_range,p.peak_name,p.elevation
100+
FROM mountains_countries AS mk
101+
JOIN mountains AS m ON mk.mountain_id=m.id
102+
JOIN peaks AS p ON m.id=p.mountain_id
103+
WHERE mk.country_code = 'BG' AND p.elevation>2835
104+
ORDER BY p.elevation DESC;
105+
106+
-- 13. Count Mountain Ranges
107+
SELECT c.country_code,COUNT(m.mountain_range) AS mountain_range
108+
FROM countries AS c
109+
JOIN mountains_countries AS mc ON c.country_code = mc.country_code
110+
JOIN mountains AS m ON mc.mountain_id = m.id
111+
WHERE c.country_code IN ('US' , 'BG', 'RU')
112+
GROUP BY c.country_code
113+
ORDER BY mountain_range DESC;
114+
115+
-- 14. Countries with Rivers
116+
117+
SELECT c.country_name,r.river_name
118+
FROM rivers AS r
119+
RIGHT JOIN countries_rivers AS cr
120+
ON r.id=cr.river_id
121+
RIGHT JOIN countries AS c
122+
ON cr.country_code=c.country_code
123+
WHERE continent_code = 'AF'
124+
ORDER BY country_name ASC
125+
LIMIT 5;
126+
127+
-- 16. Countries without any Mountains
128+
129+
SELECT (COUNT(*) - COUNT(mc.mountain_id)) AS country_count
130+
FROM countries AS c
131+
LEFT JOIN mountains_countries As mc
132+
ON c.country_code = mc.country_code;
133+
134+
-- 17. Highest Peak and Longest River by Country
135+
136+
SELECT c.country_name, MAX(p.elevation) AS highest_peak_elevation, MAX(r.length) AS longest_river_length
137+
FROM countries AS c
138+
LEFT JOIN mountains_countries as mc ON c.country_code = mc.country_code
139+
LEFT JOIN peaks AS p ON mc.mountain_id = p.mountain_id
140+
LEFT JOIN countries_rivers AS cr ON cr.country_code = c.country_code
141+
LEFT JOIN rivers as r ON r.id = cr.river_id
142+
GROUP BY c.country_name
143+
ORDER BY highest_peak_elevation DESC, longest_river_length DESC, c.country_name
144+
LIMIT 5;

0 commit comments

Comments
 (0)