Skip to content

Instantly share code, notes, and snippets.

@daniframos
Last active January 31, 2019 14:32
Show Gist options
  • Save daniframos/c450b13e85cf91a3aab6ad8635dda4d9 to your computer and use it in GitHub Desktop.
Save daniframos/c450b13e85cf91a3aab6ad8635dda4d9 to your computer and use it in GitHub Desktop.

Exercicios SQL

O objetivo destes exercicios é exercitar seus conhecimentos em sql. As questões tem dificuldade progressiva.

Uma vez configurada a base, basta conectar a mesma e fazer as questões. O resultado das questões pode ser exportado para txt. Quando a resposta trouxer um unico registro(linha), pode anotar e passar depois

1 - Traga uma lista com o nome, data, conteudo programtico, palestrante e horas complementares de todas as Palestras cadastradas

2 - Escreva a consulta que traz todas as palestras registradas desde o inicio do sistema (todos os campos)

3 - Escreva a consulta que traz as palestras que tem exatas 10 vagas (trazer todos os campos)

4 - Escreva a consulta que traz as palestras que tem menos de 20 vagas (trazer todos os campos)

5 - Escreva a consulta que todas as palestras que aconteceram no sabado (trazer todos os campos)

6 - Escreva a consulta que traz todos os locais de palestras que não tem latitude e longitude (ou seja, não foram apontados no google maps)

7 -Traga o nome do aluno (usuario), matricula do aluno e o nome da instituição de todas as instituções de ensino registradas

8 - Escreva a consulta que traz o nome de todos os grupos e o id dos usuario destes grupos

9 - Escreva a consulta que traz todos os locais e o nome das palestras nestes locais

10 - Escreva a consulta que traz todos os campos de todos os usuários que NÃO TEM GRUPO

11 - Escreva uma consulta todas as palestras. Tem que trazer o nome da palestra, o nome dos usuários registrados nesta palestra, a matricula do usuario e a data de inscrição do mesmo

12 - Escreva uma consulta que traga todos os ids de instituição de ensino que tem usuários cadastrados

13 - Escreva uma consulta que traga a quantidade de jusuarios registrado por id da instituição de ensino

14 - Escreva uma consulta que traga o nome do palestrante que obteve mais acessos e a quantidade de acessos

15 - Escreva a consulta que traz o total de horas complementares que o usuário com a matricula 201357777 (eu) pode obter se compareecer a todas as palestras que está inscrito

Dica: Use o codigo abaixo para converter tick's em horas / minutos /segundos

-- CONVERT TICKS EM HORAS
DECLARE @duration BIGINT
SET @duration = 144000000000
SELECT  @duration / 10000 / 1000 / 60 / 60 / 24 DAYS ,
        CONVERT(TIME, DATEADD(ms, SUM(@duration / 10000 % 1000),
                              DATEADD(ss, SUM(@duration / 10000000), 0))) HR_MIN_SEC

16 - Escreva a consulta que traz o total de horas complementares de todos os usuarios se compareecerem a todas as palestras que estão incritos. Caso o usuario não esteja em nenhuma palestra, pode aparecer null

Dica: Use o codigo abaixo para converter tick's em horas / minutos /segundos

-- CONVERT TICKS EM HORAS
DECLARE @duration BIGINT
SET @duration = 144000000000
SELECT  @duration / 10000 / 1000 / 60 / 60 / 24 DAYS ,
        CONVERT(TIME, DATEADD(ms, SUM(@duration / 10000 % 1000),
                              DATEADD(ss, SUM(@duration / 10000000), 0))) HR_MIN_SEC

17 - Escreva a consulta que traz o total de horas complementares que todos os usuarios tem. Tem que trazer a matricula do usuario, nome do usuário e a quantidade de horas que ele tem. Para um usuário obter as horas complementares ele precisa estar presesnte na palestra, sem falta

18 - Escreva uma consulta que retorne todas as palestras que já ocorreram

19 - Alguns alunos são essenciais para que palestras acontecam. Escreva uma consulta que retorna todas as palestras que os alunos abaixo estão incristos. As palestras listadas devem ser palestras que ainda irão acontecer e que os alunos estão incritos nela. A consulta retorna o nome do aluno, o nome da pelastra, a data e o palestrante

Alunos: 201357777, 201357776, 201357778

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment