0% acharam este documento útil (0 voto)
3 visualizações39 páginas

Introdução à Linguagem SQL e Tipos

O documento apresenta uma introdução à linguagem SQL, incluindo tipos de instruções como DDL, DML, DCL e TCL, além de tipos de dados comuns. Também aborda a utilização de comandos SQL para manipulação de dados, como SELECT, JOINs e funções de agregação. Exemplos práticos são fornecidos para ilustrar a criação de tabelas, consultas e operações de agrupamento.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações39 páginas

Introdução à Linguagem SQL e Tipos

O documento apresenta uma introdução à linguagem SQL, incluindo tipos de instruções como DDL, DML, DCL e TCL, além de tipos de dados comuns. Também aborda a utilização de comandos SQL para manipulação de dados, como SELECT, JOINs e funções de agregação. Exemplos práticos são fornecidos para ilustrar a criação de tabelas, consultas e operações de agrupamento.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Revisões

Apresentação da
Linguagem SQL
Tipos de instruções

DDL (Data Definion Language) corresponde ao modulo 15 Linguagem de Definição


de Dados ; DML (Data Manipulation Language) corresponde ao módulo 14
Cronologia

Módulo 14 Módulo 15 Módulo 16 Módulos PAP


Linguagem de Linguagem de Projeto de
17,18 e 19
Manipulação de Definição de Software. Ref 74h
Temas opcionais
dados Ref. 36h Dados Ref. 21h 89 tempos letivos
Ref. 30h
43/44 tempos 25/26 tempos 36 tempos letivos
letivos (50m) letivos (50m) (50m)

Estágios – fevereiro e março


1. Apresentação da Linguagem SQL

• SQL (Structured Query Language) é


uma linguagem padrão para interagir
com bases de dados relacionais.
1. Tipos de Instruções

➢ DDL (Data Definition Language): CREATE, ALTER, DROP


➢ DML (Data Manipulation SELECT, INSERT, UPDATE, DELETE
➢ Language):
DCL (Data Control Language): GRANT, REVOKE
➢ TCL (Transaction Control Language): COMMIT, ROLLBACK
1. Tipos de Dados

▪ Tipos comuns em SQL


- Numéricos: INT, DECIMAL, FLOAT
- Texto: CHAR, VARCHAR, TEXT
- Data e hora: DATE, TIME, DATETIME
- Booleanos: BOOLEAN

Exemplo:
CREATE TABLE projetos ( INT,
id
nome VARCHAR(100),
DATE,
data_inicio
);
1. Tipos de Dados
- Booleanos: BOOLEAN

No MySQL, o tipo de dado booleano (BOOLEAN ou BOOL) é


usado para armazenar valores verdadeiro (TRUE) ou falso
(FALSE) — mas há um detalhe importante:
Internamente, o MySQL não tem um tipo booleano real.
Os tipos BOOLEAN e BOOL são sinónimos de TINYINT(1), ou
seja, eles armazenam números inteiros onde:
•0 representa FALSE
•1 representa TRUE
Saída possível:
1. Tipos de Dados
- Booleanos: BOOLEAN

Sintaxe básica
CREATE TABLE utilizadores (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(50),
ativo BOOLEAN
);

INSERT INTO utilizadores (nome, ativo) VALUES ('Ana', TRUE);


INSERT INTO utilizadores (nome, ativo) VALUES ('Bruno', FALSE);
INSERT INTO utilizadores (nome, ativo) VALUES ('Carlos', 1);
INSERT INTO utilizadores (nome, ativo) VALUES ('Daniela', 0);

SELECT nome, ativo FROM utilizadores;


Exercício 2 – Criar tabela clientes

Cria a tabela clientes com os campos:


- id (INT, chave primária)
- nome (VARCHAR(100))
- cidade (VARCHAR(50))
Solução:
CREATE TABLE clientes (
id INT PRIMARY KEY,
nome VARCHAR(100),
cidade VARCHAR(50)
);
3 – Pesquisa Simples - SELECT

Estrutura básica:
SELECT colunas FROM tabela WHERE
condição ORDER BY coluna;
Exemplo:

SELECT nome, cargo FROM funcionarios


WHERE salario > 1200 ORDER BY nome
ASC;
Exercício 3 – SELECT simples

Lista o nome e salário de todos os


funcionários com salário superior a
1000.
Solução:

SELECT nome, salario FROM funcionarios


WHER salario > 1000;
E
4 – Predicados DISTINCT E ALL

➢ DISTINCT remove duplicados,


ALL mostra todos os resultados.

Exemplo:

SELECT DISTINCT cidade FROM clientes;


Exercício 4 – DISTINCT

Mostra as cidades únicas onde existem clientes.

Solução:

SELECT DISTINCT cidade FROM clientes;


4 – Predicados DISTINCT E ALL
5 – Funções de Agregação

Funções: COUNT(), SUM(), AVG(), MIN(), MAX()


Exemplo:
SELECT AVG(salario) AS media_salarios, COUNT(*)
AS total_func FROM funcionarios;

Explicação:
AVG(salario) → calcula a média dos salários.
• Com AS media_salarios, esse valor passa a aparecer na coluna chamada media_salarios
no resultado.
COUNT(*) → conta o número total de registos (funcionários).
• Com AS total_func, o resultado aparece na coluna chamada total_func.
Exercício 5 – Agregação

Calcular o total e a média dos salários.

Solução:

SELECT COUNT(*), AVG(salario) FROM


funcionarios;
6 – Lógica e Funções de Grupo

Agrupa e filtra grupos:

Exemplo:

SELECT cargo, AVG(salario) FROM funcionarios


GROUP BY cargo HAVING AVG(salario) > 1500;
Exercício 6 – Group BY

Mostra o salário médio por cargo apenas quando for


superior a 1500.

Solução:

SELECT cargo, AVG(salario) FROM funcionarios


GROUP BY cargo HAVING AVG(salario) > 1500;
7 – JOINs (INNER, LEFT, RIGHT)

Como Baixar e Instalar MySQL 8.0 e MySQL Workbench no Windows 10

➢ Vídeos 33 e 34
7 – JOINs

A cláusula JOIN é usada para combinar dados provenientes


de duas ou mais tabelas, baseado na relação existente entre
colunas destas tabelas.

Basicamente utiliza-se o JOIN para realizar


consultas e obter informações que estejam
espalhadas em várias tabelas, desde que as
tabelas estejam relacionadas entre si.
7 – JOINs

Existem duas categorias de joins mais comuns:

o INNER JOIN: Retorna linhas quando houver pelo menos uma


correspondência em ambas as tabelas.

o OUTER JOIN: Retorna linhas mesmo quando não


houver pelo menos uma correspondência
em uma das tabelas (ou ambas).

o O OUTER JOIN divide-se em LEFT JOIN, RIGHT JOIN E FULL JOIN.


7 – INNER JOIN
SELECT colunas
FROM tabela 1
INNER JOIN tabela 2
ON [Link] = [Link]
Critério ON: basicamente chave primária de uma tabela e chave estrangeira de outra tabela

Exemplo:

SELECT * FROM tbl_livros


INNER JOIN tbl_autores
ON tbl_livros.ID_Autor = tbl_autores.ID_Autor;
A relação entre as tabelas é a coluna ID_autor – na tabela Autores é uma Chave Primária, na
tabela_Livro é uma Chave Estrangeira.
7 – INNER JOIN
SELECT * FROM tbl_livros
INNER JOIN tbl_autores
ON tbl_livros.ID_Autor = tbl_autores.ID_Autor;

Aparece informação sobre os livros mais autores. Só aparecem os


autores que têm os livros publicados, ou seja, quando existe a
correspondência entre as 2 tabelas. Existem autores nesta BD que não
têm livro registado na tbl_livros por isso os nomes não aparecem.
7 – INNER JOIN
Mais um exemplo, agora com filtros. Vamos retornar os nomes dos livros e nomes
das editoras, mas somente das editoras cujo nome se inicia com a letra M. Notar o
uso de aliases nestas declarações, a fim de simplificar o código:

SELECT L.Nome_Livro AS Livros, E.Nome_editora


AS Editoras
FROM tbl_livros AS L
INNER JOIN tbl_editoras AS E
ON L.ID_editora = E.ID_editora
WHERE E.Nome_Editora LIKE 'M%';

Aliases para as tabelas tbl_editoras AS L … para as colunas L.Nome_Livro AS Livros


7 – JOINs (INNER, LEFT, RIGHT)

▪ INNER JOIN: retorna apenas correspondências.


▪ LEFT JOIN: todos da esquerda + correspondentes.
▪ RIGHT JOIN: todos da direita + correspondentes.

Exemplo:

SELECT cargo, AVG(salario) FROM funcionarios


GROUP BY cargo HAVING AVG(salario) > 1500;
7 – INNER JOIN
SELECT L.Nome_Livro AS Livros, E.Nome_editora
AS Editoras
FROM tbl_livros AS L
INNER JOIN tbl_editoras AS E
ON L.ID_editora = E.ID_editora
WHERE E.Nome_Editora LIKE 'M%';
Mais um exemplo para terminar. Agora vamos fazer
7 – INNER JOIN – Três tabelas um INNER JOIN com as três tabelas da BD
simultaneamente. Queremos os nomes e preços dos
livros, nomes de seus autores e editoras, mas
SELECT L.Nome_Livro AS Livro, somente das editoras cujo nome se inicia com a letra
O, tudo isso ordenado em ordem decrescente de
A.Nome_autor AS Autor, preço dos livros:

E.Nome_Editora AS Editora,
L.Preco_Livro AS 'Preço do Livro'
FROM tbl_Livro AS L
INNER JOIN tbl_autores AS A
ON L.ID_autor = A.ID_autor
INNER JOIN tbl_editoras AS E
ON L.ID_editora = E.ID_editora
WHERE E.Nome_Editora LIKE 'O%'
ORDER BY L.Preco_Livro DESC;
7 – INNER JOIN – Três tabelas
8 – OUTER JOINS
8 – OUTER JOINS – LEFT JOIN
8 – OUTER JOINS – LEFT JOIN
8 – OUTER JOINS – LEFT JOIN
8 – OUTER JOINS – LEFT JOIN
8 – OUTER JOINS – LEFT JOIN
8 – OUTER JOINS – RIGHT JOIN
8 – OUTER JOINS – RIGHT JOIN
8 – OUTER JOINS – FULL JOIN

MySQL - LEFT e RIGHT JOIN - Consultar dados em duas ou mais tabelas


8 – OUTER JOINS – FULL JOIN
8 – OUTER JOINS – CROSS JOIN
Um CROSS JOIN retorna um produto cartesiano entre as tabelas,
mostrando todas as combinações possíveis entre os registros.

Sintaxe:

A figura representa o produto cartesiano de um Cross Join entre as tabelas de livros e autores:
8 – OUTER JOINS – CROSS JOIN
um exemplo de CROSS JOIN – Retornar Nome e Preço dos livros, cruzando os dados
com a tabela de autores:

Você também pode gostar