O documento apresenta uma introdução ao SQL, incluindo sua história e propósito. Discute as principais famílias do SQL (DML, DDL e DCL) e seus comandos. Fornece exemplos de comandos SELECT básicos para recuperar e filtrar dados.
3. Introdução ao SQL
Apareceu no início da década de 1970
Desenvolvida por um laboratório de Investigação da
IBM
Em 1986 surgiu uma normalização da linguagem
SQL, pela American National Standards Institute,
continuam a existir pequenas diferenças na
implementação desta linguagem comercial.
4. Linguagem SQL
Criar, Alterar, e Remover todas as componentes de
uma Base de Dados, como tabelas, views, índices,
etc.
Inserir, Alterar e Apagar dados.
Interrogar a base de dados – Fazer Consultas.
Controlar o acesso dos utilizadores à base de dados e
as operações a que cada um deles pode ter acesso.
Obter a garantia da consistência e integridade dos
dados.
5. Familias do SQL
DML – Data Manipulation Language – Permite
manipular os dados – Inserir, Apagar, Seleccionar e
actualizar.
DDL – Data Definition Language – Utilizada para
criar, apagar e alterar objectos como tabelas,
consultas (views).
DCL – Data Control Language – Permite controlar a
segurança de dados definindo quem pode aceder
cada operação em cada objecto.
7. Comando SELECT
A interrogação de qualquer base de dados relacional fazse sempre utilizando o comando SELECT.
A sintaxe é a seguinte:
SELECT campo1, campo2,…, campoN
FROM tabela1, …, tabela n
[WHERE condição]
[GROUP BY …]
[HAVING …]
[ORDER BY …]
Os parêntesis retos indicam que essa componente é facultativo
9. Seleccionar todos os
registos
Para sabermos toda a informação existente na tabela,
teremos que seleccionar a informação existente nas
colunas Local e Ilha da tabela Localidade, o que
traduzido para SQL viria a ser:
SELECT códigoLocal, local, ilha
FROM localidade
10. Seleccionar todas as
colunas
Se se pretender, como no exemplo anterior,
seleccionar todas as colunas da tabela, então, para
não termos que indicar cada uma das colunas, o
nome de todas elas pode ser substituído pelo
carácter asterisco (*).
SELECT *
FROM Localidade
11. SELECT – Clausula
Where
A operação de restrição permite restringir o número
de linhas a apresentar.
Para podermos restringir o conjunto de registos a
apresentar, iremos utilizar outra cláusula do
comando SELECT – a cláusula WHERE.
SELECT …
FROM …
WHERE condição
14. SELECT ALL
4.3.5 Eliminação de repetições (DISTINCT e ALL)
Problema: Selecionar o conjunto das ilhas existentes na
tabela localidade.
SELECT ilha
FROM localidade
Equivalente a
SELECT ALL ilha
FROM Localidade
O resultado devolve ilhas repetidas
16. SELECT com expressões
O SELECT permite, selecção de expressões ou
mesmo a selecção de constantes.
Seleccione o nome e idade de todas as pessoas.
Selecione também a idade que irão ter daqui a um
ano. O resultado deverá vir ordenado por nome.
SELECT nome, idade, idade+1
FROM pessoa
ORDER BY nome
17. Renomear Colunas
O nome da coluna que resulta da expressão é Expr...Este
nome pode variar de sistema para sistema e é atribuído
automaticamente.
Nota: O nome com que uma coluna ou expressão é
representada no resultado de um SELECT pode ser
alterado através da cláusula AS novo_nome a seguir às
colunas ou expressões cujo título se pretende alterar.
SELECT nome, idade AS idadeHoje, idade+1 AS
idadeDaquiUmAno
FROM pessoa
ORDER BY nome
18. SELECT – Clausula
ORDER BY
A ordenação é baseada no valor do código ASCII de
cada carácter. Assim, os dígitos aparecem antes dos
caracteres alfabéticos e as maiúsculas antes das
minúsculas.
A ordenação pode ser realizada através da cláusula
ORDER BY no comando SELECT. Esta cláusula, se
existir, aparece sempre posicionada no final do
comando SELECT.
19. Order By
SELECT campo1, campo2,…, campon
FROM tabela1, …, tabela n
[WHERE condição]
[GROUP BY …]
[HAVING …]
ORDER BY campo1[ASC|DESC],
campo2[ASC|DESC],…
Onde campo representa o nome do campo, uma
expressão ou a posição da coluna do SELECT.
ASC indica que a ordenação é Ascendente e DESC indica
que a ordenação é Descendente.
20. Ordenar uma coluna
A ordenação por coluna faz-se especificando, na
cláusula ORDER BY, qual a coluna pela qual se
pretende ordenar.
Problema: Seleccionar todas as pessoas, ordenando o
resultado pela idade.
SELECT *
FROM pessoa
ORDER BY idade
21. Ordenar Varias colunas
Para se ordenar o resultado de um SELECT por mais
do que uma coluna, basta indicar, na cláusula
ORDER BY, o conjunto das colunas pela ordem em
que se pretende ordenar.
Caso se indique que se pretende ordenar o resultado
de um SELECT por mais do que uma coluna a
ordenação é feita pela primeira coluna, e entre
valores iguais é ordenada pela segunda coluna, ...