/
functions_exercises.sql
125 lines (85 loc) · 2.49 KB
/
functions_exercises.sql
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
use employees;
SELECT first_name, last_name
FROM employees
WHERE (first_name = 'Irena' OR first_name = 'Vidya' OR first_name = 'Maya')
AND gender = 'M'
ORDER BY first_name, last_name;
SELECT last_name
FROM employees
WHERE last_name LIKE 'E%' OR last_name LIKE '%E'
ORDER BY emp_no DESC;
SELECT last_name
FROM employees
WHERE last_name LIKE 'E%' AND last_name LIKE '%E'
ORDER BY emp_no DESC;
SELECT *
FROM employees
WHERE hire_date LIKE '%199' AND birth_date LIKE '%-12-25';
SELECT first_name, last_name
FROM employees
WHERE (first_name = 'Irena' OR first_name = 'Vidya' OR first_name = 'Maya')
AND gender = 'M'
ORDER BY first_name, last_name;
select count(*), gender AS 'Gen' from employees
WHERE (first_name = 'Irena' OR first_name = 'Vidya' OR first_name = 'Maya')
GROUP BY gender;
SELECT concat(first_name, ' ', last_name) AS 'Full Name'
FROM employees
WHERE last_name LIKE 'E%' AND last_name LIKE '%E';
SELECT
*,
datediff(curdate(), hire_date) / 365 AS 'DaysEmployed'
from employees
where hire_date LIKE '199%' AND birth_date LIKE '%-12-25'
ORDER BY DaysEmployed DESC;
SELECT DISTINCT last_name
FROM employees
WHERE last_name LIKE 'q%' AND NOT last_name LIKE 'qu%';
SELECT COUNT(first_name), first_name, last_name
FROM employees
WHERE last_name LIKE 'q%' AND NOT last_name LIKE 'qu%'
GROUP BY first_name, last_name
ORDER BY count(first_name) desc;
SELECT
count(*) AS 'repeats',
first_name,
last_name
FROM employees
WHERE last_name LIKE '%q%'
AND last_name NOT LIKE '%qu%'
GROUP BY first_name, last_name
ORDER BY repeats DESC;
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees
LIMIT 10;
select e.emp_no AS 'id from employees', s.emp_no AS 'emp_no from salaries'
from employees as e, salaries AS s
where e.first_name
like '%q%' limit 1000;
select concat(
(select DATEDIFF(CURDATE(), '2016-11-08')+1)
,' ', 'Days');
select DATEDIFF(CURDATE(), '2016-11-08') as 'Days';
SELECT CONCAT(emp_no, ' - ', last_name, ', ', first_name) AS full_name,
birth_date AS 'DOB'
FROM employees
LIMIT 10;
select employees.*, salaries.*
from employees, salaries
where employees.emp_no = 10010, salaries.emp_no = 10010 limit 100
select *
FROM dept_emp
WHERE emp_no = '10010';
select *
FROM dept_manager;
use codeup;
CREATE TABLE quotes (
id INT NOT NULL AUTO_INCREMENT,
author VARCHAR(50) NOT NULL,
content VARCHAR(240) NOT NULL,
PRIMARY KEY (id)
);
DESCRIBE quotes;
Alter table quotes ADD UNIQUE(content);
use employees;
select from_date, to_date from dept_emp;