SQL Ansi
Por Tiago Montezuma | 16/05/2009 | TecnologiaO SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM com o objetivo de demonstrar a viabilidade da implementação do modelo relacional, o nome original da linguagem era SEQUEL(Structured English Query Language). Embora o SQL tenha sido originalmente criado pela IBM, A partir desta criação e das modificações criadas por outrem, sentiu-se a necessidade de ser criado e adaptado um padrão para a linguagem. Esta tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e ISO em 1987.
A liguagem esta basicamente divida em duas partes DDL(Data Definition Language) e DML(Data Manipulation Language), no DDL se encontram os comandos de criação, alteração de tabelas e entre outros comandos, DML é onde se encontram os comandos de consulta, inclusão, exclusão e alteração de dados.
Operadores
Logicos
- AND - E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos.
- OR - OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto.
- NOT - Negação lógica. Devolve o valor contrário da expressão.
Observação: Os operadores logicos são usados após a cláusula where. Ex.: select * from cliente where cliente.pessoa = 'F' and cliente.salario > 1000
Relacionais
-
< – Menor que
-
> – Maior que
-
<> – Diferente de
-
<= – Menor ou Igual que
-
>= – Maior ou Igual que
-
= – Igual a
-
BETWEEN – Utilizado para especificar um intervalo de valores.
-
LIKE – Utilizado na comparação de um modelo e para especificar registros de um banco de dados."Like" + extensão % vai significar buscar todos resultados com o mesmo início da extensão.
-
IS NULL - Utilizado para verificar se o campo se encontra sem valor algum.
Observações: Os operadores relacionais são usados após a cláusula where. Ex.: select * from cliente where cliente.nome like 'T%'.(Estou solicitando ao SGBD que me retorne todos os clientes que tenham no inicio de seu nome a letra "T" como por exemplo "Tomé", "Tiago").
Funções de Agregação-
AVG – Utiliza para calcular a media dos valores de um campo determinado.
-
COUNT – Utilizada para devolver o número de registros da seleção.
-
SUM – Utilizada para devolver a soma de todos os valores de um campo determinado.
-
MAX – Utilizada para devolver o valor mais alto de um campo especificado.
-
MIN – Utilizada para devolver o valor mais baixo de um campo especificado.
Observações: Toda função de agregação terá necessáriamente que ser usada junto com a cláusula group by. Ex.: Select pedido.codvendedor, count(pedido.codpedido) from pedido group by pedido.codvendedor.
DML - Linguagem de Manipulação de dados
- SELECT - Comando para selecionar registros de uma determinada tabela, Esse comando pode ser combinado com as funções de agregação e as clausulas abaixo citadas.
- Sintax: select * from [TABELA]
- Sintax: INSERT INTO [TABELA](campo1,campo2...campoN) VALUES(:param1,:param2...:paramN)
- Sintax: UPDATE [TABELA] SET campo1 = :param1,campo2 = :param2 WHERE [CAMPO CHAVE] = :param3
- Sintax: DELETE FROM [TABELA] WHERE [CAMPO CHAVE] = :param1
Cláusulas
- FROM - Utilizada para especificar a tabela dentro do uso de uma DML
- WHERE - Comando utilizado junto de uma DML para condicionar.
- GROUP BY - Utilizando para agrupar uma consulta especifica.
- HAVING - Utilizado para condicionar a cláusula GROUP BY.
- ORDER BY - Utilizado para ordenar uma consulta.
- DISTINCT - Utilizado para exibir registros sem repetição.