0% acharam este documento útil (0 voto)
25 visualizações

Apresenta-Se Um Resumo Da Teoria Da Linguagem SQL, Com Exemplos, Extraído, Com Algumas Modificações, Da Apostila Do Prof. Dr. Luiz Camolesi Júnior

LINGUAGEM SQL

Enviado por

Amauri Franco
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
25 visualizações

Apresenta-Se Um Resumo Da Teoria Da Linguagem SQL, Com Exemplos, Extraído, Com Algumas Modificações, Da Apostila Do Prof. Dr. Luiz Camolesi Júnior

LINGUAGEM SQL

Enviado por

Amauri Franco
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 16

$/,1*8$*(0

64/

Apresenta-se um resumo da teoria da Linguagem SQL, com


exemplos, extraído, com algumas modificações, da apostila
do Prof. Dr. Luiz Camolesi Júnior.
2

/,1*8$*(064/
,1752'8d­2
Desenvolvida e implementada pelo Laboratório de Pesquisas da IBM em San Jose (hoje o Centro de
Pesquisa Almaden) entre os anos de 1964 e 1969, a Linguagem SQL (“Structured Query
Language”), inicialmente chamada “SEQUEL”, foi criada como uma forma de interface entre os
usuários e o primeiro Sistema de Gerenciamento de Bancos de Dados Relacional denominado
System R. É uma das mais conhecidas linguagens de manipulação de bancos de dados relacionais
devido à sua simplicidade e ao grande poder de consulta, sendo adotada por diversos SGBDs
Relacionais existentes comercialmente.

3$'521,=$d­2
Diversas tentativas de padronização da SQL foram realizadas de modo a criar um conjunto de
comandos e operandos de uso comum entre os diversos ambientes, possibilitando maior interação
entre usuários e os dados.
O “American National Standard Institute” (ANSI) publicou em 1986 um padrão, a IBM publicou
seu próprio padrão e outros padrões surgiram desde então, como é o caso do 64/ (no qual se
baseia o assunto aqui tratado) e posteriormente SQL3. Independente da versão, os comandos da
SQL podem ser divididos em três conjuntos:
•Linguagem de Definição de Dados (DDL): inclui comandos para definir, alterar e
remover tabelas e índices;
•Linguagem de Manipulação de Dados (DML): inclui comandos para inserir, remover,
atualizar e consultar os dados armazenados nas tabelas;
•Linguagem de Controle de Dados (DCL): incluir comandos para se trabalhar em
ambiente multi-usuário, permitindo estabelecer níveis de segurança e manipular transações.

Os comandos de manipulação de dados podem ser diretamente utilizadas através de um ambiente


interativo ou indiretamente como uma sub-linguagem embutida (Embedded SQL) em linguagens de
aplicação (ou linguagens hospedeiras) como Cobol (ISO 1989 de 1985), Fortran (ISO 1539 de
1980), C (ISO/IEC1 9899), Ada, PL/1 (ISO/IEC 6160 de 1979), Pascal (ISO/IEC 10206 de 1990) e
MUMPS.

(;(03/2
Para ilustrar o assunto abordado em seções posteriores, será adotado o seguinte exemplo:
Suponha que a empresa construtora de veículos especiais “Star Trek” necessita armazenar, em seu
Banco de Dados, informações sobre as peças que utiliza em cada projeto de veículo e os
fornecedores dessas peças. O Banco de Dados deve ser capaz de oferecer respostas rápidas e
precisas sobre as peças, fornecedores e projetos realizados, bem como associações entre esses
elementos, ou seja, a quantidade de peças fornecida por uma determinada empresa e utilizadas em
um projeto.

1
ISO/IEC - International Organization for Standardization / International Electrotechnical Commission
3

As PEÇAS são identificadas por um número, sendo utilizada a cor das gavetas onde estão colocadas
as peças para uma localização visual mais rápida por parte dos funcionários. Para a especificação
das compras são necessários o nome e o preço atual de cada peça.
Para a emissão correta das notas de compra e dos pagamentos é necessário o nome dos
FORNECEDORES bem como a cidade e um número de identificação. A categoria de cada
fornecedor é utilizada para indicar a qualidade de seus produtos e serviços.
OS PROJETOS de veículos construídos pela “Star Trek” possuem um nome, número de
identificação, a duração para a montagem do veículo e o custo de cada veículo (incluindo peças e
serviços).

Considere que o seguinte esquema relacional foi desenvolvido para suprir as necessidades dos
usuários:

3(d$ 3H1UR 3H1RPH 3H3UHoR 3H&RU


)251(&('25 )1UR )1RPH )&LGDGH )&DWHJ
352-(72 31UR 31RPH 3'XUDomR 3&XVWR
)251(&(B3$5$ 3H1UR )1UR 31UR 4XDQW

Considere também as tabelas a seguir, que mostram instâncias do banco de dados em um


determinado instante.

Peça
3H1UR 3H1RPH 3H3UHoR GyODU 3H&RU
PE1 Cinto 22 Azul
PE2 Volante 18 Vermelho
PE3 Lanterna 14 Preto
PE4 Limpador 09 Amarelo
PE5 Painel 43 Vermelho

Fornecedor
)1UR )QRPH )&LGDGH )&DWHJ
F1 Plastec Campinas B
F2 C&M São Paulo D
F3 Kirurgic Campinas A
F4 Piloto’s Piracicaba A
F5 Equipament São Carlos C

Projeto
31UR 3QRPH 3'XUDomR PrV 3&XVWR GyODU
P1 Detroit 5 43.000
P2 Pegasus 3 37.000
P3 Alfa 2 26.700
P4 Sea 3 21.200
P5 Paraíso 1 17.000
4

Fornece_para
3H1UR )QUR 31UR 4XDQW
PE1 F5 P4 5
PE2 F2 P2 1
PE3 F3 P4 2
PE4 F4 P5 3
PE5 F1 P1 1
PE2 F2 P3 1
PE4 F3 P5 2

7,326'('$'26
Os tipos de dados mais usuais são: INTEGER ou INT (-32768 a 32767), SMALLINT (0 a 65535),
FLOAT (-2147483648 a 2147483647), REAL (1.17E-38 a 3.4E+38), DOUBLE PRECISION
(2.2E-308 a 1.7E+308), DECIMAL (i,j) onde i é o total de casas decimais e j é o total de casas
decimais depois do ponto (até 18), CHAR (n) onde n é a quantidade fixa de caracteres (até 60000),
VARCHAR (n) onde n é a quantidade máxima de caracteres (até 60000), BIT(n) onde n é a
quantidade fixa de bits, BIT VARYING(n) onde n é a quantidade máxima de bits, DATE que são
dez posições no formato aaaa-mm-dd, TIME que são 8 posições no formato hh:mm:ss, TIME(i)
onde i é uma fração de segundo (ex.: 67 centésimos de segundo) e TIMESTAMP. Pode-se
encontrar outros tipos reconhecidos pelos compiladores.

7,326'((5526
Cada implementação possui sua forma de tratar e informar sobre os erros ocorridos durante a
execução de qualquer comando. Pode-se encontrar diversos tipos de erros gerados pelos
compiladores, normalmente utilizando uma variável global de retorno (ex. SQLCODE)

23(5$'25(6
/yJLFRV $ULWPpWLFRV 5HODFLRQDLV
AND + < <=
OR - > >=
NOT * <> =
/ LIKE, BETWEEN

&RQMXQWXUDLV
=ANY <ANY <ALL EXISTS IN
>ANY >=ANY >ALL NOT EXISTS NOT IN
<=ANY <>ANY <>ALL

)81d®(6
AVG - obtém o valor médio de uma coluna
COUNT - obtém a soma da quantidade de linhas analisadas
MAX - obtém o maior valor de uma coluna
MIN - obtém o menor valor de uma coluna
5

SUM - obtém a soma de valores de uma coluna

3$/$95$65(6(59$'$6
As palavras reservadas estão apresentadas nesta apostila em letras maiúsculas.

/,1*8$*(0'('(),1,d­2'('$'26 ''/ 

Criação de uma tabela e definição de suas colunas.

Sintaxe:
&5($7(7$%/(QRPHBWDEHOD
QRPHBFROXQDWLSR>12718//@>6(7'()$8/7YDORU@
35,0$5<.(< QRPHBFROXQD
>&21675$,17 QRPHBUHVWULomR @
>81,48( QRPHBFROXQD @
>)25(,*1.(< QRPHBFROXQD
5()(5(1&(6QRPHBWDEHOD QRPHBFROXQD
21'(/(7(&$6&$'(6(718//6(7'()$8/7
2183'$7(&$6&$'(6(718//6(7'()$8/7@
Exemplos:
&5($7(7$%/(3HoD
3H1UR
&+$5  12718//
 3H1RPH
&+$5  12718//
 3H3UHoR
5($/ 12718//
 3H&RU
&+$5 
35,0$5<.(< 3H1UR 

&5($7(7$%/()RUQHFHGRU
)1UR&+$5  12718//
 )1RPH
&+$5  12718//
 )&LGDGH
&+$5  12718//
)&DWHJ
&+$5  12718//
35,0$5<.(< )1UR 

Alteração de uma tabela existente.

Sintaxe:
$/7(57$%/(QRPHBWDEHOD
>$''&2/801QRPHBFROXQDWLSR>12718//@@
>'523&2/801QRPHBFROXQD>&$6&$'(5(675,&7@@
6

>$/7(5 &2/801 QRPHBFROXQD >'523 '()$8/76(7 '()$8/7


YDORU@@
>'523&21675$,17QRPHBUHVWULomR>&$6&$'(5(675,&7@@
Exemplo:
$/7(57$%/(3HoD
$''&2/801PDWHULDO&+$5  

Remoção de uma tabela e todas as suas tabelas de índices.

Sintaxe:
'5237$%/(QRPHBWDEHOD&$6&$'(5(675,&7
Exemplo:
'5237$%/(3HoD&$6&$'(

Criação de uma tabela indexadora para uma tabela. Uma tabela indexadora criada previamente para
uma consulta diminui o tempo necessário para a apresentação da resposta.

Sintaxe:
&5($7(,1'(;QRPHBWDEHODBtQGLFH
21QRPHBWDEHOD QRPHBFROXQD>$6&_'(6&@ 

Exemplo:
&5($7(,1'(;FyGLJRBSHoD
213HoD 3H1UR $6& 

Remoção de uma tabela indexadora.

Sintaxe:
'523,1'(;QRPHBWDEHODBtQGLFH
Exemplo:
'523,1'(;FyGLJRBSHoD
7

/,1*8$*(0'(0$1,38/$d­2'('$'26 '0/ 
&RQVXOWDVDR%DQFRGH'DGRV
O comando SELECT ... FROM ... WHERE ... possibilita consultar uma ou mais tabelas de acordo
com critérios estabelecidos.

Sintaxe:
6(/(&7 >',67,1&7@QRPHBFROXQD
)520 QRPHBWDEHOD
>:+(5( FRQGLo}HV @
>*5283%< QRPHBFROXQD@
>+$9,1* FRQGLo}HV @
>^,17(56(&7_0,186_81,21`FRPDQGRBVHOHFW@
>25'(5%< QRPHBFROXQD^$6&_'(6&`@

Cláusulas:

SELECT - o que se deseja na tabela de resultado

FROM - de onde retirar os dados necessários

WHERE - condições para busca dos resultados

GROUP BY - agrupamento de resultados

HAVING - condições para a definição de grupos na tabela de resultados

INTERSECT - permite a interseção de tabelas

MINUS - permite a diferença entre tabelas

UNION - permite a união de tabelas

ORDER BY - estabelece a ordenação lógica da tabela de resultados

Observações:

Esse comando se tornou o mais importante da linguagem SQL devido ao seu poder de consulta. A
possibilidade de utilização das operações relacionais (união, diferença, interseção e obviamente
seleção) com extrema simplicidade na manipulação das tabelas despertou o interesse dos
pesquisadores e projetistas de gerenciadores de Bancos de Dados, de tal modo que diversos
ambientes e linguagens de programação estão embutindo esse comando (Select-From-Where) em
suas bibliotecas de operações e funções.

Exemplos de consultas sobre o banco de dados do exemplo dado na seção 3:


8

Exemplo 1: Obtenha os nomes de todas as peças


3H1RPH
Cinto
6(/(&7 3H1RPH Volante
Lanterna
)520 3HoD Limpador
Painel

Exemplo 2 (Distinct): Obtenha os código de todas as peças fornecidas


3H1UR
6(/(&7 ',67,1&73H1UR PE1
)520 )RUQHFHBSDUD PE2
PE3
PE4
PE5

Exemplo 3 (Where): Obtenha o nome e código dos fornecedores de Campinas

6(/(&7 )1RPH)1UR )1RPH )1UR


)520 )RUQHFHGRU Plastec F1
:+(5( )&LGDGH µ&DPSLQDV¶ Kirurgic F3

Exemplo 4 (Operador Aritmético): Obtenha o nome e a duração em dias de cada projeto

6(/(&7 31RPH 3'XUDomR  )1RPH


)520 3URMHWR Detroit 
Pegasus 
Alfa 
Sea 
Paraíso 

Exemplo 5 (Operador Relacional): Obtenha o nome dos projetos de custo menor que $28000

6(/(&7 31RPH 31RPH


)520 3URMHWR Alfa
:+(5( 3&XVWR Sea
Paraíso
9

Exemplo 6 (Operador Lógico): Obtenha os nomes das peças de cor vermelha e com preço maior
que $ 25

6(/(&7 3H1RPH 3H1RPH


)520 3HoD Painel
:+(5( 3H&RU µ9HUPHOKR¶
$1' 3H3UHoR!

Exemplo 7 (Order by): Obtenha, em ordem decrescente de preço, os nomes das peças de cor
vermelha e com preço maior que $ 15

6(/(&7 3H1RPH
3H1RPH
)520 3HoD
:+(5( 3H&RU µ9HUPHOKR¶ Painel
$1' 3H3UHoR! Volante
25'(5%< 3H3UHoR'(6&

Exemplo 8 (In): Obtenha, em ordem crescente de preço, o nome das peças de cor vermelha ou
amarela e com preço de $09, $ 18, $ 22 , $40 ou $ 90

6(/(&7 3H1RPH 3H1RPH


)520 3HoD Limpador
:+(5(  3H&RU µ9HUPHOKR¶ Volante
25 3H&RU µ$PDUHOR¶
$1' 3H3UHoR,1  
25'(5%< 3H3UHoR$6&

Exemplo 9 (Not): Obtenha o nome das peças cujo preço não é $ 09, $14, $60
3H1RPH
6(/(&7 3H1RPH Cinto
)520 3HoD Volante
:+(5( 3H3UHoR127,1  Painel

Exemplo 10 (Like): Obtenha o nome dos fornecedores residentes em cidades iniciadas com a letra S

6(/(&7 )1RPH )1RPH

)520 )RUQHFHGRU C&M


Equipament
:+(5( )&LGDGH/,.(µ6¶
10

Exemplo 11 (Between): Obtenha o nome dos projetos com preço entre $20000 e $30000

31RPH
6(/(&7 31RPH
)520 3URMHWR Alfa
Sea
:+(5( 3&XVWR%(7:((1$1'

Exemplo 12 (Uso explícito da relações): Obtenha o código dos fornecedores para o projeto P5

6(/(&7 )RUQHFHBSDUD)1UR )1UR


)520 )RUQHFHBSDUD F4
:+(5( )RUQHFHBSDUD31UR µ3¶ F3

Exemplo 13 (Join): Obtenha o nome das peças utilizadas no projeto P4

6(/(&7 3HoD3H1RPH 3H1RPH


)520 3HoD)RUQHFHBSDUD Cinto
:+(5( )RUQHFHBSDUD31UR µ3¶ Lanterna
$1' )RUQHFHBSDUD3H1UR 3HoD3H1UR

Exemplo 14 (SubSelect): Obtenha o nome das peças utilizadas no projeto P5

6(/(&7 3HoD3H1RPH 3H1RPH


)520 3HoD Limpador
:+(5( 3HoD3H1UR,1
6(/(&7 ',67,1&7)RUQHFHBSDUD3H1UR 3H1UR
)520 )RUQHFHBSDUD PE4
:+(5( )RUQHFHBSDUD31UR µ3¶

Exemplo 15 (SubSelect): Obtenha o nome das peças fornecidas pelos fornecedores F4 e F3

6(/(&7 3HoD3H1RPH 3H1RPH


)520 3HoD Limpador
:+(5( 3HoD3H1UR,1
6(/(&7 )RUQHFHBSDUD3H1UR
3H1UR
)520 )RUQHFHBSDUD
PE4
:+(5( )RUQHFHBSDUD)1UR µ)¶
$1' 3HoD3H1UR,1
6(/(&7 )RUQHFHBSDUD3H1UR 3H1UR
)520 )RUQHFHBSDUD PE3
:+(5( )RUQHFHBSDUD)1UR µ)¶ PE4
11

Exemplo 16 (SubSelect): Obtenha o nome das peças utilizadas nos projetos com duração maior que
3 meses

6(/(&7 3HoD3H1RPH 3H1RPH


)520 3HoD Painel
:+(5( 3HoD3H1UR,1
6(/(&7 )RUQHFHBSDUD3H1UR 3H1UR
)520 )RUQHFHBSDUD PE5
:+(5( )RUQHFHBSDUD31UR,1
6(/(&7 3URMHWR31UR 31UR
)520 3URMHWR P1
:+(5( 3URMHWR3'XUDomR! 

Exemplo 17 (Any): Obtenha o nome das peças fornecidas por algum fornecedor de Piracicaba

6(/(&7 3HoD3H1RPH
3H1RPH
)520 3HoD Limpador
:+(5( 3HoD3H1UR,1
6(/(&7 3H1UR 3H1UR
)520 )RUQHFHBSDUD PE4
:+(5( )1UR $1<
6(/(&7 )1UR )1UR
)520 )RUQHFHGRU
F4
:+(5( )&LGDGH µ3LUDFLFDED¶ 

Exemplo 18 (All): Obtenha o nome das peças não fornecidas por fornecedores de categoria A

3H1RPH
6(/(&7 3H1RPH Cinto
)520 3HoD Volante
Painel
:+(5( 3H1UR,1 3H1UR
6(/(&7 ',67,1&73H1UR PE1
)520 )RUQHFHBSDUD PE2
:+(5( )1UR!$// PE5
6(/(&7 )1UR )1UR
)520 )RUQHFHGRU F3
:+(5( )&DWHJ µ$¶  F4
12

Exemplo 19 (Exists): Obtenha os nomes dos fornecedores que fornecem a peça PE2

6(/(&7 )RUQHFHGRU)1RPH
)520 )RUQHFHGRU )1RPH
:+(5( (;,676 C&M
6(/(&7
)520 )RUQHFHBSDUD
:+(5( )RUQHFHBSDUD)1UR )RUQHFHGRU)1UR
$1' )RUQHFHBSDUD3H1UR µ3(¶ 

Exemplo 20 (Group By): Obtenha a quantidade de cada peça utilizada em todos o projetos

3H1UR
6(/(&7 3H1UR680 4XDQW PE1 
)520 )RUQHFHBSDUD PE2 
*5283%< 3H1UR PE3 
PE4 
PE5 

Exemplo 21 (Having): Obtenha os códigos das peças que são utilizadas em uma quantidade inferior
a 5 unidades na somatória de todos os projetos
3H1UR
6(/(&7 3H1UR680 4XDQW
PE2 
)520 )RUQHFHBSDUD PE3 
*5283%< 3H1UR PE5 
+$9,1* 680 4XDQW 

Exemplo 22 (Union): Obtenha os códigos das peças com preço menor que $ 20 ou que possuem a
cor vermelha

6(/(&7 3H1UR 3H1UR


)520 3HoD PE2 3H1UR
:+(5( 3H3UHoR PE3 PE2
81,21 PE4 PE3
6(/(&7 3H1UR
3H1UR
PE4
)520 3HoD PE2
PE5
:+(5( 3H&RU µ9HUPHOKR¶ PE5
13

Exemplo 23 (Intersect): Obtenha os códigos das peças com preço menor que $ 20 e que possuem a
cor vermelha
3H1UR
6(/(&7 3H1UR PE2
)520 3HoD PE3
:+(5( 3H3UHoR PE4
,17(56(&7 3H1UR
6(/(&7 3H1UR PE2
3H1UR
)520 3HoD
PE2
:+(5( 3H&RU µ9HUPHOKR¶
PE5

Exemplo 24 (Minus): Obtenha os códigos das peças com preço menor que $ 20 e que não possuem
a cor vermelha
3H1UR
6(/(&7 3H1UR PE2
)520 3HoD PE3
:+(5( 3H3UHoR PE4
3H1UR
0,186 PE3
6(/(&7 3H1UR PE4
)520 3HoD 3H1UR
:+(5( 3H&RU µ9HUPHOKR¶ PE2
PE5

Exemplo 25 (Variáveis): Obtenha o código dos fornecedores concorrentes entre si

6(/(&7 ;)1UR<)1UR
)520 )RUQHFHBSDUD$6;)RUQHFHBSDUD$6<
:+(5( ;3H1UR <3H1UR
$1' ;)1UR!<)1UR ;)1UR <)1UR
F4 F3
F3 F4

Exemplo 26 (Variáveis): Obtenha o código das peças de mesma cor

6(/(&7 ;3H1UR<3H1UR
)520 3HoD$6;3HoD$6<
:+(5( ;3H&RU <3H&RU
$1' ;3H1UR!<3H1UR ;3H1UR <3H1UR
PE2 PE5
PE5 PE2
14

Exemplo 27 (Natural Join): Obtenha o nome das peças fornecidas que tenham o preço maior que
$20

6(/(&7 ',67,1&73H1RPH
)520 3HoD1$785$/-2,1)RUQHFHBSDUD
:+(5( 3H3UHoR!

3H1UR 3H1RPH 3H3UHoR 3H&RU )1UR 31UR 4XDQW


3H1RPH PE1 Cinto 22 Azul F5 P4 5
Cinto PE2 Volante 18 Vermelho F2 P2 1
Painel PE2 Volante 18 Vermelho F3 P5 2
PE3 Lanterna 14 Preto F3 P4 2
PE4 Limpador 09 Amarelo F4 P5 3
PE4 Limpador 09 Amarelo F3 P5 2
PE5 Painel 43 Vermelho F1 P1 1

Exemplo 28 (Equi Join): Obtenha o nome das peças fornecidas que não são vermelhas e as suas
cores

6(/(&7 ',67,1&73H1RPH3H&RU
)520 3HoD-2,1)RUQHFHBSDUD213H1UR 3H1UR
:+(5( 3H&RU!µ9HUPHOKR¶

3H1UR 3H1RPH 3H3UHoR 3H&RU )1UR 31UR 4XDQW


3H1RPH 3H&RU PE1 Cinto 22 Azul F5 P4 5
Cinto Azul PE2 Volante 18 Vermelho F2 P2 1
Lanterna Preto PE2 Volante 18 Vermelho F3 P5 2
Limpador Amarelo PE3 Lanterna 14 Preto F3 P4 2
PE4 Limpador 09 Amarelo F4 P5 3
PE4 Limpador 09 Amarelo F3 P5 2
PE5 Painel 43 Vermelho F1 P1 1

Exemplo 29 (Outer Join): Obtenha informações sobre todas as peças

6(/(&7
)520 3HoD/()7287(5-2,1)RUQHFHBSDUD213H1UR 3H1UR

3H1UR 3H1RPH 3H3UHoR 3H&RU )1UR 31UR 4XDQW


PE1 Cinto 22 Azul F5 P4 5
PE2 Volante 18 Vermelho F2 P2 1
PE2 Volante 18 Vermelho F3 P5 2
PE3 Lanterna 14 Preto F3 P4 2
PE4 Limpador 09 Amarelo F4 P5 3
PE4 Limpador 09 Amarelo F3 P5 2
PE5 Painel 43 Vermelho F1 P1 1
PE6 Calota 70 Azul NULL NULL NULL
15

$WXDOL]DomRGR%DQFRGH'DGRV
Inclusão de dados em uma tabela.

Sintaxe:
,16(57
,172 QRPHBWDEHOD QRPHBFROXQD
9$/8(6 YDORU

Exemplo: Inserir uma nova peça PE6

,16(57
,172 3HoD 3H1UR3H1RPH3H3UHoR3H&RU
9$/8(6 µ3(¶µ(VSHOKR¶µ$]XO¶

Atualização dos dados de uma tabela.

Sintaxe:
83'$7( QRPHBWDEHOD
6(7 QRPHBFROXQD YDORU
:+(5( FRQGLomRGHORFDOL]DomR

Exemplo: Alterar a peça PE6 para que o preço seja $ 25

83'$7( 3HoD
6(7 3H3UHoR 
:+(5( 3H1UR µ3(¶

Remoção de dados de uma tabela.

Sintaxe:
'(/(7()520QRPHBWDEHOD
:+(5( FRQGLomRGHORFDOL]DomR

Exemplo: Remover a peça PE6

'(/(7()5203HoD
:+(5( 3H1UR µ3(¶
16

(;(5&Ë&,26
1) Crie uma tabela de indexação para a tabela de clientes criada anteriormente.

2) Armazene, altere e remova dados na tabela de Cliente e Interessado_em.

3) Obtenha o nome dos projetos com duração entre 3 e 5 inclusive, e que possuem um preço
menor que $ 40.000.

4) Quais os nomes das peças com preço maior que $ 20 e que são fornecidas por empresas de São
Paulo e utilizadas por projeto com duração maior que 2 meses.

5) Obtenha o nome das peças utilizadas em cada projeto.

6) Obtenha o nome das peças que não são utilizadas em nenhum projeto.

7) Obtenha a cidade dos fornecedores da categoria A e da categoria B.

8) Obtenha quantos tipos de peças são usados em cada projeto.

%,%/,2*5$),$&203/(0(17$5
[ 1 ] Guide to SQL - Quick Reference
John Viescas
Microsoft Press - 1989

[ 2 ] Draft - ISO/SQL3
ISO/ANSI 1993 - Subcomissão de Estudos da Linguagem SQL

[ 3 ] Introdução a Sistemas de Bancos de Dados - Capítulos 6, 7, 8 e 9


C. J. Date
Editora Campus - 1993

[ 4 ] Sistema de Bancos de Dados - Capítulos 4, 8 e 12


Henry F. Korth & Abraham Silberschatz
Editora Makron - Segunda Edição - 1994

Você também pode gostar