Professional Documents
Culture Documents
SQL
Origem: Wikipédia, a enciclopédia livre.
O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM em San Jose,
dentro do projeto System R, que tinha por objetivo demonstrar a viabilidade da implementação do
modelo relacional proposto por E. F. Codd. O nome original da linguagem era SEQUEL, acrônimo para
"Structured English Query Language" (Linguagem de Consulta Estruturada em Inglês) [1], vindo
daí o facto de, até hoje, a sigla, em inglês, ser comumente pronunciada "síquel" ao invés de "és-kiú-él",
letra a letra. No entanto, em português, a pronúncia mais corrente é a letra a letra: "ésse-quê-éle".
A linguagem SQL é um grande padrão de banco de dados. Isto decorre da sua simplicidade e
facilidade de uso. Ela se diferencia de outras linguagens de consulta a banco de dados no sentido em que
uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. Ela é uma
linguagem declarativa em oposição a outras linguagens procedurais. Isto reduz o ciclo de aprendizado
daqueles que se iniciam na linguagem.
Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialectos"
desenvolvidos por outros produtores. Essa expansão levou à 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.
O SQL foi revisto em 1992 e a esta versão foi dado o nome de SQL-92. Foi revisto novamente em 1999
e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003, respectivamente. O SQL:1999 usa expressões
regulares de emparelhamento, queries recursivas e gatilhos (triggers). Também foi feita uma adição
controversa de tipos não-escalados e algumas características de orientação a objeto. O SQL:2003
introduz características relacionadas ao XML, sequências padronizadas e colunas com valores de auto-
generalização (inclusive colunas-identidade).
Tal como dito anteriormente, o SQL, embora padronizado pela ANSI e ISO, possui muitas variações e
extensões produzidos pelos diferentes fabricantes de sistemas gerenciadores de bases de dados.
Tipicamente a linguagem pode ser migrada de plataforma para plataforma sem mudanças estruturais
principais.
Outra aproximação é permitir para código de idioma procedural ser embutido e interagir com o banco de
dados. Por exemplo, o Oracle e outros incluem Java na base de dados, enquanto o PostgreSQL permite
que funções sejam escritas em Perl, Tcl, ou C, entre outras linguagens.
http://pt.wikipedia.org/wiki/SQL 13/04/2010
SQL - Wikipédia, a enciclopédia livre Page 2 of 6
Índice
■ 1 Exemplo
■ 2 Palavras-chaves em SQL
■ 2.1 DML - Linguagem de Manipulação de Dados
■ 2.2 DDL - Linguagem de Definição de Dados
■ 2.3 DCL - Linguagem de Controle de Dados
■ 2.4 DTL - Linguagem de Transação de Dados
■ 2.5 DQL - Linguagem de Consulta de Dados
■ 2.6 Cláusulas
■ 2.7 Operadores Lógicos
■ 2.8 Operadores Relacionais
■ 2.9 Funções de Agregação
■ 3 Sistemas de Banco de Dados que usam SQL
■ 4 Ligações externas
■ 5 Referências
Exemplo
Inserindo dados numa tabela T, a pesquisa Select * Table 'T' Query Result
from T terá como resultado todos os elementos de
C1 C2 Select * from T C1 C2
todas as linhas da tabela.
1 a 1 a
Partindo da mesma tabela, a pesquisa Select C1 from 2 b 2 b
T terá como resultado todos os elementos da coluna
C1. C1 C2 Select C1 from T C1
1 a 1
O resultado da pesquisa Select * from T where C1=1
2 b 2
será todos os elementos de todas as filas onde o valor
de coluna C1 é '1'. C1 C2 Select * from T where C1=1 C1 C2
1 a 1 a
Palavras-chaves em SQL 2 b
■ INSERT é usada para inserir um registro (formalmente uma tupla) a uma tabela existente.
■ UPDATE para mudar os valores de dados em uma ou mais linhas da tabela existente.
http://pt.wikipedia.org/wiki/SQL 13/04/2010
SQL - Wikipédia, a enciclopédia livre Page 3 of 6
■ CREATE cria um objeto (uma Tabela, por exemplo) dentro da base de dados.
Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto,
por exemplo, adicionando uma coluna a uma tabela existente.
■ ALTER TABLE
■ CREATE INDEX
■ ALTER INDEX
■ DROP INDEX
■ CREATE VIEW
■ DROP VIEW
■ ALTER PASSWORD
■ CREATE SYNONYM
http://pt.wikipedia.org/wiki/SQL 13/04/2010
SQL - Wikipédia, a enciclopédia livre Page 4 of 6
■ ROLLBACK faz com que as mudanças nos dados existentes desde que o último COMMIT ou
ROLLBACK sejam descartadas.
COMMIT e ROLLBACK interagem com áreas de controle como transação e locação. Ambos
terminam qualquer transação aberta e liberam qualquer cadeado ligado a dados. Na ausência de um
BEGIN WORK ou uma declaração semelhante, a semântica de SQL é dependente da implementação.
Cláusulas
As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou
modificar em uma consulta.
WHERE – Utilizada para especificar as condições que devem reunir os registros que serão
selecionados.
HAVING – Utilizada para expressar a condição que deve satisfazer cada grupo.
ORDER BY – Utilizada para ordenar os registros selecionados com uma ordem especifica.
Operadores Lógicos
AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos.
Operadores Relacionais
<> – Diferente de
http://pt.wikipedia.org/wiki/SQL 13/04/2010
SQL - Wikipédia, a enciclopédia livre Page 5 of 6
= – Igual a
Funções de Agregação
As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros para devolver um
único valor que se aplica a um grupo de registros.
http://pt.wikipedia.org/wiki/SQL 13/04/2010
SQL - Wikipédia, a enciclopédia livre Page 6 of 6
Ligações externas
■ (em inglês) Padrão SQL 2003
(http://www.acm.org/sigmod/record/issues/0403/index.html#standards)
■ (em inglês) Jupitermedia Corporation's online SQL tutorial (http://sqlcourse.com/)
■ (em inglês) A Gentle Introduction to SQL by Andrew Cumming (http://sqlzoo.net/)
■ (em inglês) Database Debunking (http://www.dbdebunk.com/)
■ (em inglês) SQL for beginners (http://www.cfxweb.net/modules.php?
name=News&file=article&sid=161)
■ (em inglês) Oracle SQL FAQ (http://www.orafaq.com/faqsql.htm)
■ (em português) LiteBase [1] (http://www.litebase.org/)
■ (em inglês) Oracle SQL tutorials (http://freeitsolutions.com/oracle-tutorials/?search=sql)
Referências
1. ↑ Chamberlin, D. D., Astrahan, M. M., Blasgen, M. W., Gray, J. N., King, W. F., Lindsay, B. G., Lorie, R.,
Mehl, J. W., Price, T. G., Putzolu, F., Selinger, P. G., Schkolnick, M., Slutz, D. R., Traiger, I. L., Wade, B.
W., and Yost, R. A. 1981. A history and evaluation of System R. Commun. ACM 24, 10 (Oct. 1981), 632-
646. http://doi.acm.org/10.1145/358769.358784
■ Navathe, S. B. and Elmasri, R.. Sistemas de banco de dados – Fundamentos e aplicações. LTC: 2002.
Obtido em "http://pt.wikipedia.org/wiki/SQL"
Categoria: SQL
■ Esta página foi modificada pela última vez às 10h18min de 10 de abril de 2010.
■ Este texto é disponibilizado nos termos da licença Atribuição-Compartilhamento pela mesma
Licença 3.0 Unported (CC-BY-SA); pode estar sujeito a condições adicionais. Consulte as
Condições de Uso para mais detalhes.
http://pt.wikipedia.org/wiki/SQL 13/04/2010