-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunctions.sql
More file actions
33 lines (28 loc) · 932 Bytes
/
functions.sql
File metadata and controls
33 lines (28 loc) · 932 Bytes
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
USE pharmacy_db;
SET GLOBAL log_bin_trust_function_creators = 1;
-- Task №1 для employee шукати AVG стовпця experience.
DROP FUNCTION IF EXISTS get_avg_working_experience;
DELIMITER //
CREATE FUNCTION get_avg_working_experience()
RETURNS DECIMAL(10, 1)
BEGIN
RETURN (SELECT AVG(experience)
FROM employee);
END //
DELIMITER ;
# SELECT name, experience
# FROM employee where experience > get_avg_working_experience();
-- Task №2 витягує за ключем між street та pharmacy значення поля street.name .
DROP FUNCTION IF EXISTS get_street_name;
DELIMITER //
CREATE FUNCTION get_street_name(
pharmacy_id INT
)
RETURNS VARCHAR(45)
BEGIN
RETURN (SELECT name
FROM street
WHERE id = (SELECT street_id FROM pharmacy WHERE id = pharmacy_id));
END //
DELIMITER ;
# select *, get_street_name(pharmacy.id) as street_name from pharmacy;