Last active
October 6, 2022 20:51
-
-
Save tissyane/99ad404aa7bb9c64ccbe8c1a08d61561 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Questão 01: todos os usuários (users) que vivem na cidade (cities) cujo nome seja “Rio de Janeiro”, ordenados pelo id do usuário: | |
SELECT u.id, u.name, c.name AS "city" | |
FROM users u | |
JOIN cities c ON u."cityId" = c.id | |
WHERE c.name = 'Rio de Janeiro' | |
ORDER By id; | |
-- Questão 02: todos os depoimentos (testimonials) cadastrados, incluindo o nome do remetente e do destinatário, ordenados pelo id do testiomial: | |
SELECT t.id, u1.name AS "writer", u2.name AS recipient, t.message | |
FROM testimonials t | |
JOIN users u1 ON t."writerId"=u1.id | |
JOIN users u2 ON t."recipientId" = u2.id | |
ORDER By id; | |
-- Questão 03: todos os cursos (courses) que o usuário com id 30 já finalizou, incluindo o nome da escola. | |
SELECT c.id, u.name, c.name as course, s.name as school, e."endDate" | |
FROM educations e | |
JOIN users u ON u.id = e."userId" | |
JOIN courses c ON e."courseId" = c.id | |
JOIN schools s ON e."schoolId" = s.id | |
WHERE u.id = 30 AND e.status = 'finished'; | |
-- Questão 04: as empresas (companies) para as quais o usuário com id 50 trabalha atualmente. Para filtrar quem trabalha atualmente, | |
SELECT e.id, u.name, r.name AS role, c.name AS company, e."startDate" | |
FROM experiences e | |
JOIN users u ON u.id = e."userId" | |
JOIN roles r ON e."roleId" = r.id | |
JOIN companies c ON e."companyId" = c.id | |
WHERE u.id = 50 AND e."endDate" IS NULL; | |
Desafio: a lista das diferentes escolas (schools) e cursos (courses) onde estudaram as pessoas que estão aplicando pra posição de “Software Engineer” na empresa com id 10. Só devem ser consideradas as vagas que estiverem ativas: | |
SELECT s.id, s.name AS school, c.name AS course, co.name AS company, r.name AS role | |
FROM applicants a | |
JOIN jobs j ON a."jobId" = j.id | |
JOIN roles r ON j."roleId" = r.id | |
JOIN companies co ON j."companyId" = co.id | |
JOIN educations e ON a."userId" = e."userId" | |
JOIN courses c ON e."courseId" = c.id | |
JOIN schools s ON e."schoolId" = s.id | |
WHERE (co.id = 10 AND r.name = 'Software Engineer' AND j.active IS true) ; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment