Você está na página 1de 10

Linguagem SQL

Prof. Cleber Loureno Izidoro, Me.

Programao Aplicada II
Linguagem SQL

SQL tem representado o padro para linguagens de


banco de dados relacionais. Existem diversas verses de
SQL.

Essa linguagem, originalmente chamada de SEQUEL,


foi implementada como parte do projeto do Sistema R,
no incio dos anos 70.

A linguagem SQL tem diversas partes: linguagem de


definio de dados, linguagem interativa de
manipulao de dados, incorporao DML, definio de
vises, autorizao, integridade, controle de transaes.
Estrutura Bsica
A estrutura bsica de uma expresso SQL consiste em trs
clusulas: select, from e where.

A clusula select corresponde operao de projeo da


lgebra relacional. Ela usada para relacionar atributos
desejados no resultado de uma consulta.

A clusula from corresponde operao do produto


cartesiano da lgebra relacional. Associa as relaes que sero
pesquisadas durante a evoluo de uma expresso.

A clusula where corresponde seleo do predicado na


lgebra relacional. Ela consiste em um predicado envolvendo
atributos da relao que aparece na clusula from.
A clusula Select

O resultado de uma consulta SQL naturalmente


uma relao.

Consideremos a estrutura do programa de


cadastro de clientes, onde se deseja selecionar
todos os clientes cadastrados:

SELECT * FROM CLIENTES

Ou apenas clusulas separadas:

SELECT CLIENTES.CODCLI,CLIENTES.NOMECLI
FROM CLIENTES
A clusula Select
Se desejarmos, por exemplo, eliminar a duplicidade de
linhas, podemos inserir a palavra-chave distinct
depois de select.

Poderemos reescrever a consulta anterior da seguinte


forma:

SELECT DISTINCT CLIENTES.NOMECLI


FROM CLIENTES
A Clusula Where
A clusula WHERE delimita a visualizao dos dados cadastrados
utilizando lgebra relacional.

Por exemplo, caso se deseje filtrar somente os nomes de clientes


cadastrados com um nome especfico pode-se realizar a consulta da
seguinte maneira:

SELECT * FROM CLIENTES


WHERE CLIENTES.NOMECLI = <nomedocliente>

Ou ainda que o nome contenha apenas uma parte do texto relacionado


A Clusula Where

A clusula from por si s define um produto cartesiano das relaes


da clusula.

Caso queira selecionar dois campos de tabelas distintas pode-se


relacionar as duas atravs da chave primria e estrangeira.
Para selecionar os clientes e seus respectivos CEPS podemos utilizar
o seguinte cdigo:

SELECT *FROM CLIENTES, CEPS


WHERE CLIENTES.CODCEP = CEPS.CODCEP

Ou melhorando o cdigo:

SELECT CLIENTES.NOMECLI, CEPS.NUMCEP


FROM CLIENTES, CEPS
WHERE CLIENTES.CODCEP = CEPS.CODCEP
A Clusula Join
A clusula JOIN executa uma sub-seleo dentro da operao SELECT
relacionando todas as operaes das tabelas efetuando um subconjunto na
seleo.
Uma clusula SQL JOIN usado para combinar as linhas de duas ou
mais tabelas, com base em um campo comum entre eles.
O tipo mais comum de se juntar : SQL INNER JOIN (juno simples).
Um INNER SQL JOIN retorna todas as linhas de vrias tabelas onde a
condio de juno for atendida.

Com relao ao ltimo exemplo, podemos considerar da seguinte


forma:

SELECT CLIENTES.NOMECLI, CEPS.NUMCEP


FROM CLIENTES
JOIN CEPS ON CEPS.CODCEP=CLIENTES.CODCEP

Pode-se adicionar ao final tambm clusulas WHERE de forma a


filtrar mais a pesquisa.
Ordenao de Tuplas

O SQL oferece ao usurio algum controle sobre a ordenao por meio da


qual as tuplas de uma relao sero apresentadas.

A clusula order by faz com que as tuplas do resultado de uma


consulta apaream em uma determinada ordem.

Para listar em ordem alfabtica todos os clientes:

SELECT * FROM CLIENTES


ORDER BY CLIENTES.NOMCLI ASC

Ou caso necessidade pode-se usar a clusula DESC para


descendentes.
Linguagem SQL

Prof. Cleber Loureno Izidoro, Me.

Programao Aplicada II