From 3a37e1778fd188411a277eac3801dff30a5056f9 Mon Sep 17 00:00:00 2001 From: ada-dmitry Date: Sat, 11 Nov 2023 20:06:08 +0300 Subject: [PATCH] add 5lab --- Lab/Lab#5/lab5.sql | 36 ++++++++++++++++++++++++++++++++++++ Practice/SR/sr2.sql | 0 2 files changed, 36 insertions(+) create mode 100644 Lab/Lab#5/lab5.sql create mode 100644 Practice/SR/sr2.sql diff --git a/Lab/Lab#5/lab5.sql b/Lab/Lab#5/lab5.sql new file mode 100644 index 0000000..5bf2073 --- /dev/null +++ b/Lab/Lab#5/lab5.sql @@ -0,0 +1,36 @@ +SELECT * +FROM bd_employees +WHERE last_name ~ '^[a-zA-Z]+-[a-zA-Z]+$'; + +SELECT * +FROM bd_employees +WHERE department_id IN ( + SELECT id + FROM bd_departments + WHERE street ~ '^[A-Za-z\s]+$' +); + + +SELECT last_name, + CASE WHEN phone_number LIKE '+7%' + THEN CONCAT('8', SUBSTRING(phone_number, 3)) + ELSE phone_number END AS phone +FROM bd_employees; + +UPDATE staff +SET department = '60' +WHERE id = ( + SELECT manager_id + FROM employees + WHERE first_name LIKE 'Neena' AND last_name LIKE 'Kochhar'); + +SELECT * +FROM bd_employees +WHERE LENGTH(REGEXP_REPLACE(first_name, '[^aeiouAEIOU]', '', 'g')) <= 3; + +WITH tmp AS ( + SELECT chr(i+96), i FROM generate_series(1,26) i) +SELECT e.last_name sum(t.i) AS name_sum +FROM db_employees e +JOIN tmp t ON t.chr = ANY(string_to_array(LOWER(e.last_name), NULL)) +GROUP BY e.last_name; \ No newline at end of file diff --git a/Practice/SR/sr2.sql b/Practice/SR/sr2.sql new file mode 100644 index 0000000..e69de29