Skip to content

Instantly share code, notes, and snippets.

@tkovs
Last active November 6, 2018 14:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tkovs/ba8f4539e21d2f83f53a107b165b2ec9 to your computer and use it in GitHub Desktop.
Save tkovs/ba8f4539e21d2f83f53a107b165b2ec9 to your computer and use it in GitHub Desktop.
-- CRIA TABELAS
CREATE TABLE Curso
(
ID INT IDENTITY(1,1) PRIMARY KEY,
Nome VARCHAR(30),
DataCadastro DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE CursoHistorico
(
ID INT IDENTITY(1,1) PRIMARY KEY,
CursoID INT,
Periodos INT,
DataCadastro DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (CursoID) REFERENCES Curso(ID) ON DELETE NO ACTION
);
CREATE TABLE Aluno
(
ID INT IDENTITY(1,1) PRIMARY KEY,
Nome VARCHAR(30),
CursoID INT,
FOREIGN KEY (CursoID) REFERENCES CursoHistorico(ID) ON DELETE NO ACTION
);
-- EXCLUE TABELAS
DROP TABLE Aluno;
DROP TABLE CursoHistorico;
DROP TABLE Curso;
-- CADASTRA
INSERT INTO
Curso (Nome)
VALUES
('Inglês'),
('Física'),
('Engenharia de Software');
INSERT INTO
CursoHistorico (CursoID, Periodos)
VALUES
(1, 7),
(2, 8),
(3, 9);
INSERT INTO
Aluno (Nome, CursoID)
VALUES
('João', 1),
('Raimundo', 3);
INSERT INTO
CursoHistorico (CursoID, Periodos)
VALUES
(1, 8),
(3, 10);
INSERT INTO
Aluno (Nome, CursoID)
VALUES
('Aninha', 4),
('Marcus', 2),
('Antonio', 5);
-- CONSULTAS
-- Alunos e cursos
SELECT
A.Nome, C.Nome, CH.Periodos
FROM
Aluno A
INNER JOIN
CursoHistorico CH ON CH.ID = A.CursoID
INNER JOIN
Curso C ON C.ID = CH.CursoID;
SELECT
C.Nome, CH.Periodos, CH.DataCadastro AS 'DataAtualizacao'
FROM
Curso C
INNER JOIN
CursoHistorico CH ON CH.CursoID = C.ID
ORDER BY
C.ID;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment