Skip to content

Instantly share code, notes, and snippets.

@tissyane
Last active October 6, 2022 20:51
Show Gist options
  • Save tissyane/99ad404aa7bb9c64ccbe8c1a08d61561 to your computer and use it in GitHub Desktop.
Save tissyane/99ad404aa7bb9c64ccbe8c1a08d61561 to your computer and use it in GitHub Desktop.
-- 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