Você está na página 1de 5

#PÚBLICA#

Linguagem SQL
A SQL pode ser considerada a linguagem mais comum dentre as de
consulta. Aliás, deve ser vista como bem mais que uma linguagem de consulta,
caracterizando-se como uma linguagem de banco de dados. Pode-se identificar
a equivalência entre consultas em álgebra relacional e em SQL, porém existem
muitas características que estendem bastante o poder de expressão de uma
consulta em SQL.

As consultas em álgebra relacional podem ser convertidas em SQL de


acordo com regras bem definidas. Os comandos em SQL geralmente são
divididos em dois grupos: DML e DDL.

 Linguagem de Manipulação de Dados ou DML (Data


Manipulation Language): são os comandos para a manipulação
de consultas ou mesmo de modificações de conteúdo de banco
de dados.
 Linguagem de Definição de Dados ou DDL (Data Definition
Language): são os comandos para definição das estruturas das
tabelas e dos tipos de atributos respectivos.

Sintaxe geral

Podemos definir a seguinte sintaxe geral para um comando SQL, composta de


cláusulas padrão da linguagem mais um complemento:

 Atributos: são os campos ou atributos das tabelas que serão


mostrados separados por vírgulas;
 Tabelas: são as tabelas pertinentes à consulta, também
separadas por vírgulas;
 Condição: deve conter uma condição de acordo com o objetivo
da
consulta.

#PÚBLICA#
#PÚBLICA#

O comando pode ser expresso em uma única linha, não havendo restrições
quanto à distribuição das cláusulas em linhas diferentes.

Os comandos SQL são case insensitive*, sendo aqui colocados em


maiúsculas por questões didáticas.

Como exemplo, se considerarmos uma consulta, na tabela “Pedido”,


que requisita a seleção apenas do registro cujo código é 1010, temos:

E a consulta SQL que produz o resultado é:

O asterisco (*), na linha da cláusula SELECT, significa que devem ser


mostrados todos os atributos, economizando a expressão de todos os campos.

Da mesma forma, é possível fazer comparações:

#PÚBLICA#
#PÚBLICA#

Note o uso da cláusula lógica AND e também as condições entre


parênteses. Observe que essas consultas são equivalentes a utilizar a
operação de seleção (σ) da AR. Os operadores de comparação permitidos são
semelhantes aos encontrados na linguagem Pascal: =, <>, <, >, <= e >=. Os
operadores lógicos são AND, OR e NOT.

O conteúdo da tabela “Pedido” pode ser apresentado apenas por um


comando:

Sendo assim, as cláusulas SELECT e FROM são obrigatórias para


qualquer comando SQL, enquanto a cláusula WHERE é opcional.

O equivalente a essa consulta, na AR, é apenas o nome da tabela


“Pedido”. Ainda, convém destacarmos que em vez de querer apresentar todos
os campos, podemos restringir a apresentação da tabela “Pedido” para campos
específicos:

Sendo, então, a consulta expressa como:

#PÚBLICA#
#PÚBLICA#

Nesse procedimento, a restrição ao código do pedido 1010 pode ser


adicionada:

A equivalência da operação de projeção (π) da álgebra relacional é


encontrada na sintaxe do SQL presente na cláusula SELECT.

Junção

Como visto anteriormente em AR, a operação de junção tem por


finalidade aglutinar duas tabelas mediante atributos em comum existentes nas
mesmas. A operação de junção (em AR expressa pelo símbolo) tem sua
contrapartida em SQL através do comando INNER JOIN(junção interna):

Onde “att_comum1” e “att_comum2” são respectivamente os atributos


comuns das tabelas (tabela1 e tabela2). Lembramos que a operação de
junção é binária, necessita, portanto, sempre de duas tabelas para ocorrer a
operação, e que a igualdade entre os campos em comum é expressa
após o comando ON.

#PÚBLICA#
#PÚBLICA#

Porém, o comando INNER JOIN geralmente não é expresso como um


comando SQL na maneira como foi apresentado na sintaxe, pois é colocado
em conjunto com as cláusulas da sintaxe geral, vistos na seção
anterior. Como a junção produz outra tabela em sua saída, esta é, por
sua vez, colocada na cláusula FROM do comando SQL.

#PÚBLICA#

Você também pode gostar