-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjoinTask.sql
More file actions
98 lines (65 loc) · 2.18 KB
/
Copy pathjoinTask.sql
File metadata and controls
98 lines (65 loc) · 2.18 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
create database joinTask
-- DDL:
CREATE TABLE Servers (
server_id INT PRIMARY KEY,
server_name VARCHAR(50),
region VARCHAR(50)
);
CREATE TABLE Alerts (
alert_id INT PRIMARY KEY,
server_id INT,
alert_type VARCHAR(50),
severity VARCHAR(20)
);
CREATE TABLE AI_Models (
model_id INT PRIMARY KEY,
model_name VARCHAR(50),
use_case VARCHAR(50)
);
CREATE TABLE ModelDeployments (
deployment_id INT PRIMARY KEY,
server_id INT,
model_id INT,
deployed_on DATE
);
-- DML:
INSERT INTO Servers VALUES
(1, 'web-server-01', 'us-east'),
(2, 'db-server-01', 'us-east'),
(3, 'api-server-01', 'eu-west'),
(4, 'cache-server-01', 'us-west');
INSERT INTO Alerts VALUES
(101, 1, 'CPU Spike', 'High'),
(102, 2, 'Disk Failure', 'Critical'),
(103, 2, 'Memory Leak', 'Medium'),
(104, 5, 'Network Latency', 'Low'); -- Invalid server_id (edge case)
INSERT INTO AI_Models VALUES
(201, 'AnomalyDetector-v2', 'Alert Prediction'),
(202, 'ResourceForecaster', 'Capacity Planning'),
(203, 'LogParser-NLP', 'Log Analysis');
INSERT INTO ModelDeployments VALUES
(301, 1, 201, '2025-06-01'),
(302, 2, 201, '2025-06-03'),
(303, 2, 202, '2025-06-10'),
(304, 3, 203, '2025-06-12');
-- Join Practice:
-- Task 1: INNER JOIN:
-- List all alerts with the corresponding server name.
select A.alert_id, S.server_name
from Alerts A inner join Servers S on A.server_id = S.server_id
-- Task 2: LEFT JOIN:
-- List all servers and any alerts they might have received.
select A.alert_id, S.server_name
from Servers S left join Alerts A on S.server_id = A.server_id
-- Task 3: RIGHT JOIN:
-- Show all alerts and the server name that triggered them, including alerts without a matching server.
select A.alert_id, S.server_name
from Servers S right join Alerts A on S.server_id = A.server_id
-- Task 4: FULL OUTER JOIN:
-- List all servers and alerts, including unmatched ones on both sides.
select A.alert_id, S.server_name
from Servers S full join Alerts A on S.server_id = A.server_id
-- Task 5: CROSS JOIN:
-- Pair every AI model with every server (e.g., simulation of possible deployments).
select A.model_name, S.server_name
from AI_Models A cross join Servers S