SELECT
l.login_date,
l.event_id,
l.ip_address,
l.username,
l.country AS login_country,
e.office,
CASE
WHEN e.office = 'New York' AND l.country != 'USA' THEN TRUE
WHEN e.office = 'Toronto' AND l.country != 'Canada' THEN TRUE
WHEN e.office = 'London' AND l.country != 'UK' THEN TRUE
WHEN e.office = 'Berlin' AND l.country != 'Germany' THEN TRUE
WHEN e.office = 'Singapore' AND l.country != 'Singapore' THEN TRUE
WHEN e.office = 'Nairobi' AND l.country != 'Kenya' THEN TRUE
ELSE FALSE
END AS location_mismatch,
l.success
FROM Employer_dataset.login_attempt l
JOIN Employer_dataset.employees e
ON l.username = e.username;
SELECT
login_date,
event_id,
ip_address,
login_country,
office,
location_mismatch,
success,
FROM Employer_dataset.joined_table
WHERE success = FALSE AND location_mismatch = TRUE;
SELECT
login_country,
COUNT(*) AS suspicious_count
FROM Employer_dataset.joined_table
WHERE success = FALSE AND location_mismatch = TRUE
GROUP BY login_country;
.
This demo successfully highlights
Note: Data used is simulated. No real user data is included.