Escolar Documentos
Profissional Documentos
Cultura Documentos
se houver na tabela cidade alguns registros com os mesmos conteúdos, eles serão
apresentados, mas nós podemos explicitar a eliminação de qualquer duplicidade, utilizando a
palavra-chave DISTINCT:
SELECT DISTINCT Nome FROM cidade;
Para simplificar algumas operações utilizado o WHERE, existe o BETWEEN:
SELECT Nome, Populacao
FROM cidade
WHERE Populacao BETWEEN 90000 AND 100000;
A cláusula FROM
Como já dissemos, a cláusula FROM fornece um produto cartesiano das tabelas
especificadas na cláusula. Portanto, para a consulta “Encontre todas os nomes e população das
cidades e línguas do seu país”, temos a sintaxe:
SELECT cidade.Nome, cidade.Populacao, linguapais.Linguagem
FROM cidade, pais, linguapais
WHERE cidade.CodigoPais = pais.Codigo AND
pais.Codigo = linguapais.CodigoPais;
Note que estamos utilizando na instrução SQL a notação nome-tabela.nome-campo. Isso
deve ser feito para evitar ambiguidades, pois temos alguns campos com nomes iguais em
tabelas distintas, por exemplo o campo “CodigoPais” ou “Nome”.
Assimile
Se pudéssemos criar uma classificação das instruções SQL mais utilizadas, as instruções de
consulta (DQL) com certeza estarão em primeiro lugar. Por isso, estudar a fundo as sintaxes,
as cláusulas e as finalidades de utilização destas instruções levarão você a explorar toda a
potencialidade de um SGBD e seus bancos de dados relacionais.
----------
A operação de renomeação e variáveis do registro
Os campos podem ser renomeados e, para isso, usa-se a cláusula AS, da seguinte forma:
nome-antigo AS nome-novo
---------
Por exemplo, para descartar
várias colunas em uma única instrução, execute o seguinte comando:
ALTER TABLE cliente DROP COLUMN parentesco,
DROP COLUMN telefones;
SELECT categoria.nome as "Tipo", produto.nome as "Produto", produto.valor FROM
Categoria INNER JOIN Produto
ON Categoria.Id = Produto.Id_Categoria
Where produto.valor< 50.00;
Clausula IN
uma consulta em que desejamos encontrar o nome de todos os
alunos que efetuaram emprestimos, mas que estao com restricao
para locar novos livros. Assim, teremos:
SELECT aluno.nome
FROM aluno
WHERE aluno.RA IN (SELECT aluno_RA FROM restrição);
SELECT aluno.nome as “ALUNO”, livro.nome as “LIVRO”
FROM aluno, livro
WHERE aluno.RA IN(SELECT aluno_RA FROM restrição)
AND Livro.isbn IN (selectlivro_isbnfrom restrição);
Not IN
SELECT nome as “LIVRO”
FROM livro
WHERE seção NOT IN (SELECT seção FROM emprestimo
where seção = “música”);
CRIAÇÃO DE INDICE
por meio da palavra reservada
INDEX, devemos utilizar as seguintes sintaxes:
Declarar um índice, quando no desenvolvimento da tabela:
CREATE TABLE [nomeDaTabela] (
Campo1 tipo(tamanho),
Campo2 tipo(tamanho),
INDEX(Campo1)
);
Declarar um índice, em uma tabela existente no BD:
CREATE INDEX [nomeDoIndice] ON
[nomeDaTabela](Campo);
Para utilizar um índice, a sintaxe necessária
pode ser observada a seguir:
SELECT [coluna] FROM [nomeDaTabela]
USE INDEX (nomeDoIndice)
WHERE [condições];