-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunctions_exercise.sql
More file actions
134 lines (107 loc) · 3.07 KB
/
functions_exercise.sql
File metadata and controls
134 lines (107 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
-- Modify your first query to order by first name.
-- The first result should be Irena Reutenauer and the last result should be Vidya Simmen.
SELECT * FROM employees
WHERE first_name = 'Irena'
OR first_name = 'Vidya'
OR first_name = 'Maya'
ORDER BY first_name;
-- Update the query to order by first name and then last name.
-- The first result should now be Irena Acton and the last should be Vidya Zweizig.
SELECT * FROM employees
WHERE first_name IN ('Irena', 'Vidya', 'Maya')
ORDER BY first_name, last_name;
-- Change the order by clause so that you order by last name before first name.
-- Your first result should still be Irena Acton but now the last result should be Maya Zyda.
SELECT * FROM employees
WHERE first_name IN ('Irena', 'Vidya', 'Maya')
ORDER BY last_name, first_name;
-- Update your queries for employees with 'E' in their last name to
-- sort the results by their employee number.
-- Your results should not change!
SELECT * FROM employees
WHERE last_name LIKE 'e%';
SELECT * FROM employees
WHERE last_name LIKE 'e%' OR last_name LIKE '%e'
ORDER BY emp_no DESC;
SELECT * FROM employees
WHERE last_name LIKE 'e%' AND last_name LIKE '%e';
ORDER BY emp_no DESC;
-- Last name starts with "e" and ends with "e"
SELECT
CONCAT(first_name, ' ', last_name) AS full_name,
UPPER(CONCAT(first_name, ' ', last_name)) AS ucase_full_name
FROM employees
WHERE last_name LIKE 'e%e'
ORDER BY emp_no DESC;
-- Change the query for employees hired in the 90s and born on Christmas
-- first result is the oldest employee who was hired last.
-- It should be Khun Bernini.
SELECT
*,
DATEDIFF(NOW(), hire_date) AS days_with_company
FROM employees
WHERE hire_date LIKE '199%'
AND birth_date LIKE '%-12-25'
ORDER BY birth_date ASC, hire_date DESC;
SELECT * FROM employees
WHERE hire_date LIKE '199%';
SELECT YEAR(hire_date) FROM employees;
SELECT *
FROM employees
WHERE YEAR(hire_date) BETWEEN 1990 AND 1999;
SELECT *
FROM employees
WHERE birth_date LIKE '%12-25';
SELECT *
FROM employees
WHERE MONTH(birth_date) = 12 AND DAY(birth_date) = 25;
SELECT *
FROM employees
WHERE last_name LIKE '%q%';
SELECT * FROM employees
WHERE (first_name = 'Irena'
OR first_name = 'Vidya'
OR first_name = 'Maya')
AND gender = 'M';
SELECT * FROM employees
WHERE last_name LIKE 'e%' OR last_name LIKE '%e';
SELECT * FROM employees
WHERE last_name LIKE 'e%' AND last_name LIKE '%e';
SELECT *
FROM employees
WHERE YEAR(hire_date) BETWEEN 1990 AND 1999
AND MONTH(birth_date) = 12 AND DAY(birth_date) = 25;
SELECT *
FROM employees
WHERE last_name LIKE '%q%'
AND last_name NOT LIKE '%qu%';
SELECT
MIN(salary),
MAX(salary)
FROM salaries;
SELECT
first_name,
last_name,
birth_date,
CONCAT(
LOWER(LEFT(first_name, 1)),
LOWER(LEFT(last_name, 4)),
'_',
RIGHT(LEFT(birth_date, 7), 2), # month
RIGHT(LEFT(birth_date, 4), 2) # two digit year
)
FROM employees
LIMIT 50;
SELECT
first_name,
last_name,
birth_date,
CONCAT(
LOWER(LEFT(first_name, 1)),
LOWER(LEFT(last_name, 4)),
'_',
LPAD(MONTH(birth_date), 2, '0'), # month
RIGHT(YEAR(birth_date), 2) # two digit year
)
FROM employees
LIMIT 50;