Você está na página 1de 4

CREATE DATABASE Escola

use Escola;

CREATE TABLE Turmas (


TurmaID CHAR(3) NOT NULL PRIMARY KEY,
Curso VARCHAR(10) NOT NULL,
Ano TINYINT NOT NULL,
TotAlunos TINYINT NOT NULL,
TotAlunas TINYINT NOT NULL,
NumDeleg SMALLINT NOT NULL);

CREATE TABLE Alunos(


Nome VARCHAR(40) NOT NULL,
Turma CHAR(3) NOT NULL REFERENCES Turmas(TurmaID),
Numero SMALLINT NOT NULL PRIMARY KEY,
Idade TINYINT NOT NULL,
Tlm CHAR(9) NULL);

--VALORES DA TABELA TURMAS


INSERT INTO Turmas
VALUES ( 'T53', 'TGPSI', 3, 16, 0, 1641);

INSERT INTO Turmas


VALUES ( 'T52', 'TET', 3, 11, 0, 1673);

INSERT INTO Turmas


VALUES ( 'T54', 'TG', 3, 4, 9, 1649);

INSERT INTO Turmas


VALUES ( 'T56', 'TGA', 3, 5, 7, 1719);

INSERT INTO Turmas


VALUES ( 'T57', 'TAL', 2, 2, 13, 1711);

INSERT INTO Turmas


VALUES ( 'T58', 'TGA', 2, 6, 6, 1770);

INSERT INTO Turmas


VALUES ( 'T59', 'ASC', 2, 0, 22, 1780);

INSERT INTO Turmas


VALUES ( 'T60', 'TGPSI', 2, 17, 0, 1811);

INSERT INTO Turmas


VALUES ( 'T61', 'TAL', 2, 2, 20, 1838);

INSERT INTO Turmas


VALUES ( 'T50', 'TET', 3, 14, 0, 1627);

--VALORES DA TABELA ALUNOS

INSERT INTO Alunos


VALUES ('Andr Serra','T50',1627,17,'938433593');

INSERT INTO Alunos


VALUES ('Bruno Santos','T53',1631,19,'960008484');

INSERT INTO Alunos


VALUES ('F bio Batista ','T53',1635,18,NULL);

INSERT INTO Alunos


VALUES ('L cio Goufa','T53',1640,19,'913387395');

INSERT INTO Alunos


VALUES ('Pedro Batista','T53',1646,17,'968188855');

INSERT INTO Alunos


VALUES ('Daniel Portela','T52',1667,19,'917719481');

INSERT INTO Alunos


VALUES ('Jorge Figueiredo','T52',1672,17,'964925986');

INSERT INTO Alunos


VALUES ('Marco Silva ','T52',1675,18,'968733419');
INSERT INTO Alunos
VALUES ('Frederico Almeida','T52',1717,19,'934008938');

update Alunos
set Tlm=NULL
where Tlm='';

use Escola;

SELECT * FROM Alunos;


SELECT * FROM Turmas;
SELECT Tlm, Idade, Numero, Turma, Nome FROM Alunos
SELECT Nome, Numero FROM Alunos;

SELECT Nome, Numero FROM Alunos;


SELECT Numero, Nome FROM Alunos WHERE Numero <> 1646;

SELECT Nome, Tlm, Idade FROM Alunos WHERE Idade < 19

SELECT Nome, Numero, Idade FROM Alunos WHERE Numero<1650 OR Idade <> 19

SELECT Nome FROM Alunos WHERE Numero > 1630 AND Numero <= 1675;

SELECT Nome FROM Alunos WHERE NOT (Numero <= 1630 OR Numero > 1675);

SELECT * FROM Alunos WHERE Tlm IS NOT NULL;

SELECT Nome from Alunos


SELECT Nome, Tlm FROM Alunos WHERE Tlm LIKE '%[^7-9]';

SELECT Nome, Turma, Idade FROM Alunos WHERE Nome LIKE '[AFJ]%[ao]'

SELECT Nome, Turma, Idade FROM Alunos WHERE Nome LIKE '[a-z]%'
SELECT Numero, Tlm FROM Alunos WHERE Tlm LIKE '9[0-3]%[^5-9]'

SELECT * FROM Turmas


INSERT INTO Turmas (TurmaID, Curso, Ano, NumDeleg, TotAlunos, TotAlunas) values ('P
%0', 'TPZ', 3, 9876, 20, 0)
SELECT TurmaID, Curso, Ano FROM Turmas WHERE TurmaID LIKE '%[@%]%' ESCAPE '@'
DELETE FROM Turmas WHERE TurmaID='P%0'

SELECT Nome, Numero, Tlm FROM Alunos WHERE Tlm LIKE '%[76]'
-- Nas Wildcards o operador !(^ no SQLServer) n o funciona entre dois %.
-- Por exemplo o comando abaixo n o faz o desejado:
SELECT Nome, Numero, Tlm FROM Alunos WHERE Tlm LIKE '%[^76]%'

SELECT Nome FROM Alunos


SELECT Nome FROM Alunos WHERE Nome LIKE '% '
--Ordena o com base num campo
SELECT * FROM Alunos
ORDER BY Numero DESC

SELECT Nome, Turma, Idade FROM Alunos


WHERE Turma IN ('T52', 'T50') ORDER BY Idade ASC;

--Ordena o com base em mais do que um campo

SELECT Nome, Turma, Idade FROM Alunos


ORDER BY Turma, Idade;

SELECT Idade, Turma, Nome FROM Alunos


ORDER BY Idade, Turma, Nome DESC;

SELECT TurmaID, Curso, TotAlunos + TotAlunas AS [Total Turma]


FROM Turmas;

-- Resultados Repetidos
SELECT * FROM Alunos; -- O asterisco est relacionado com as colunas
SELECT Turma FROM Alunos;
SELECT ALL Turma FROM Alunos; -- O ALL est relacionado com todos os registos
SELECT DISTINCT Turma, Nome FROM Alunos;
--Fun es de Agrega o
SELECT COUNT (*) AS TotRegistos FROM Turmas
WHERE Curso = 'ASC';

SELECT * FROM Turmas;

SELECT MIN(NumDeleg) AS [MENOR DELEGADO] FROM Turmas

SELECT MAX(TotAlunas) AS [MAX ALUNAS] FROM Turmas;

SELECT COUNT(*) FROM Alunos


WHERE Idade = (SELECT MAX(Idade) FROM Alunos)

SELECT TurmaID FROM Turmas


WHERE TotAlunas = 22;

--Juntando os 2 SELECT's ANTERIORES

SELECT TurmaID FROM Turmas


WHERE TotAlunas = (SELECT MAX(TotAlunas) FROM Turmas);

SELECT TurmaID, TotAlunas, TotAlunos, TotAlunas+TotAlunos AS TotalTurma FROM Turmas


WHERE TotAlunas+TotAlunos = (SELECT MAX(TotAlunas+TotAlunos) FROM Turmas);
-- M ltiplos SELECT's
SELECT TurmaID, TotAlunos + TotAlunas AS [TOTAL DA TURMA] FROM Turmas
WHERE TotAlunos + TotAlunas > (
SELECT TotAlunos + TotAlunas FROM Turmas WHERE TurmaID = 'T50');

SELECT SUM(TotAlunas) AS ALUNAS FROM Turmas;


SELECT SUM(TotAlunos) AS ALUNOS FROM Turmas;
SELECT SUM(TotAlunos)+SUM(TotAlunas)as AlunosTurma FROM Turmas

SELECT SUM(TotAlunos)+SUM(TotAlunas)as AlunosTurma, Curso FROM Turmas


GROUP BY Curso

SELECT SUM(TotAlunos)+SUM(TotAlunas)as AlunosTurma, Curso FROM Turmas


GROUP BY Curso
HAVING SUM(TotAlunos)+SUM(TotAlunas)>30

SELECT SUM(TotAlunos)+SUM(TotAlunas)as AlunosTurma, Ano FROM Turmas


GROUP BY Ano
ORDER BY Ano DESC

SELECT SUM(TotAlunos)+SUM(TotAlunas)as AlunosTurma, Ano, Curso FROM Turmas


GROUP BY Ano, Curso
HAVING SUM(TotAlunos)+SUM(TotAlunas) > 22;

SELECT * FROM Turmas; SELECT * FROM Alunos;

--Cross-Join
SELECT Nome, Turma, TurmaID, NumDeleg FROM Alunos, Turmas;
SELECT Nome, Turma, TurmaID, NumDeleg FROM Alunos CROSS JOIN Turmas;

--Equi-Join
SELECT Nome, Turma, TurmaID, Curso FROM Alunos, Turmas
WHERE Turma = TurmaID;

SELECT Nome, Turma, TurmaID, Curso FROM Alunos CROSS JOIN Turmas
WHERE Turma = TurmaID;

SELECT Nome, Turma, TurmaID, Curso FROM Alunos INNER JOIN Turmas
ON Turma = TurmaID;
--

Você também pode gostar