• Nenhum resultado encontrado

Linguagem SQL. Bancos de Dados II Linguagem SQL

N/A
N/A
Protected

Academic year: 2021

Share "Linguagem SQL. Bancos de Dados II Linguagem SQL"

Copied!
56
0
0

Texto

(1)

Linguagem SQL

Bancos de Dados II

Linguagem SQL

(2)

SQL - Principais conceitos

Machado cap.14



Introdução



Importância da linguagem SQL;

 1970 - Fundamentada no modelo relacional

de CODD;

 1974 – 1ª versão - SEQUEL definida na

IBM;

 1975 – Primeiro protótipo em 1975;

 1976 – Primeira revisão passando após

ampliações para SQL por razões jurídicas;

 1977 – SYSTEM R – ORACLE é lançado;

 1983 – Popularizou-se: SQL/DS e DB2

(IBM), ZIM, RDB, SYBASE;

 1983 – Padrão de acesso a SGBD

Relacionais “de fato”;

 1986 ANSI  padrão oficial;

 Vários dialetos;

 1989 – SQL recebe reforço de integridade –

versão SQL/89;

 1992 – É apresentada a versão SQL2;

(3)

SQL - Principais conceitos

Machado cap.14



Conceitos



Bancos de Dados Relacionais



Linhas (registros);



Colunas (campos);



Não ordenadas;



Localizadas por campo chave PK;



Facilidade de manipulação e

entendimento;



Voltada para ambiente relacional

mas pode ser usada em outros

ambientes;

(4)

SQL - Principais conceitos

Machado cap.14



Linguagem SQL



Originalmente só interativa;



Após acréscimos passou a ser

suportada por linguagens

hospedeiras (COBOL, PL/I, C, VB,

DELPHI, etc.) - DML Embutido;

(5)

SQL - Principais conceitos

Variedade de Enfoques

Machado cap.14

SQL

LIGAÇÃO COM OUTROS COMPUTADORES

SGBD

SGBD –– Sistema Gerenciador de Banco de DadosSistema Gerenciador de Banco de Dados

BD Gateway Programas de Aplicação SQL Relatórios SQL FORMS SQL Consultas “AD HOC” SQL Outros Bancos de Dados SQL Ferramentas Front-End SQL DBA Bancos de Dados Queries “AD-HOC”

(6)

SQL - Principais conceitos

Machado cap.14



Linguagem SQL - Usos



Linguagem interativa de Consulta;



Linguagem de programação –

DML Embutido;



Linguagem de Administração de

Banco de Dados;



Linguagem cliente/servidor;



Linguagem para Banco de Dados

Distribuído;



Caminho de acesso a outros Bancos

(7)

SQL

SQL - Principais conceitos

Classes de Objetos

(principais)

Machado cap.14 DDL Criar Destruir Modificar DML Consultar Inserir Alterar Apagar Implementação do Ambiente Segurança Controle Administração

(8)

SQL - Principais conceitos

Machado cap.14



Classes de Objetos



DDL – Data Definition Language

(Linguagem de Definição de Dados);

 Create, Alter, Drop



DML – Data Manipulation Language

(Linguagem de Manipulação de Dados);

 Select, Insert, Update



Controle de acessos;

 Grant, Revoke



Compartilhamento de Dados;

 Controle de Usuários e instâncias



Integridade dos Dados;

(9)

SQL - Principais conceitos

Machado cap.14



Vantagens



Independência de fabricante;



Portabilidade entre computadores;



Redução dos custos com

treinamento;



Sentenças padrão em inglês para

acesso e manipulação;



Consulta interativa (atualmente há

ferramentas visuais que facilitam

ainda mais);



Múltiplas visões dos dados;

(10)

SQL - Principais conceitos

Machado cap.14



Desvantagens



A maioria dos fabricantes

implementa suas próprias versões

muitas vezes ignorando os padrões

ISO e ANSI;



A portabilidade é relativa em função

das limitações do item acima;



Padronização leva à inibição da

criatividade;



Interfaces gráficas;



Não atende a todas as necessidades

(11)

SQL - Principais conceitos



SQL



Ferramenta de acesso aos bancos

de dados Relacionais



Algumas características:



Linguagem não procedural;



Não atende a todas as necessidades

de processamento.



PL/SQL



Linguagem de acesso a bancos de

dados Relacionais



Algumas características:



Linguagem procedural;



Supre as limitações de

(12)

SQL - Principais conceitos



Classes de Comandos



DRL – Data Retrieval Language –

Recuperação ou extração de dados do BDR;

 Seleção (Select);



DML – Data Manipulation Language –

Linguagem de Manipulação de Dados do

BDR;

 Inclusão (Insert), Alteração (Update) e

Exclusão (Delete);



DDL – Data Definition Language –

Linguagem de Definição Tabelas no BDR;

 Criar (Create), Alterar (Alter), Eliminar (Drop); 

DCL – Data Configuration Language – Define

autorização de acesso aos dados do BDR;

(13)

SQL - Principais conceitos



Estrutura básica dos comandos DRL



O que mostrar?  SELECT atributos

 (colunas de tabelas, constantes, variáveis de

sistema, resultados de cálculos, etc...);



De onde?  FROM tabelas apelidos

 (quais tabelas preciso consultar para obter os

dados necessários para a consulta);



Em que condições?  WHERE condições de

seleção

 (critérios de seleção ou filtragem para

obtenção dos dados desejados);



Organizado como?  ORDER atributos

 (quais atributos deverão ser utilizados para

(14)

SQL - Principais conceitos



Modelo e tabelas utilizadas para os

exemplos e exercícios.



Registro de trabalhos selecionados

para eventos acadêmicos.



Modelo Conceitual

ARTIGOS

EVENTOS

AUTOR TÍTULO UNIVERSIDADEORIGEM ÓRGÃOFINANCIADOR NOTA EVENTO LOCAL MÊS NUMPARTICIPANTES UNIVERSIDADEORGANIZADORA

ACEITOS

EVENTO AUTOR TITULO POSSUI POSSUI (1:N) (N:1) NOTA_DE_CORTE NOTA_CORTE

(15)

SQL - Principais conceitos



Modelo e tabelas utilizadas para os

exemplos e exercícios.



Registro de trabalhos selecionados

para eventos acadêmicos.



Modelo Lógico

ARTIGOS

EVENTOS

AUTOR TÍTULO UNIVERSIDADEORIGEM ÓRGÃOFINANCIADOR NOTA EVENTO LOCAL MÊS NUMPARTICIPANTES UNIVERSIDADEORGANIZADORA

ACEITOS

EVENTO AUTOR TITULO

NOTA_DE_CORTE

NOTA_CORTE

(16)

SQL - Principais conceitos



Modelo e tabelas utilizadas para os

exemplos e exercícios.



Modelo Físico

ARTIGOS

EVENTOS

AUTOR TÍTULO UNIVERSIDADEORIGEM ÓRGÃOFINANCIADOR NOTA EVENTO LOCAL MÊS NUMPARTICIPANTES UNIVERSIDADEORGANIZADORA

ACEITOS

EVENTO AUTOR TITULO VARCHAR2(30) Varchar2(30) Varchar2(30) Varchar2(30) Number(2,1) Varchar2(30 VARCHAR2(30) NUMBER(02) NUMBER(03)S VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

NOTA_DE_CORTE

NOTA_CORTE NUMBER(2,1)

(17)

SQL - Principais conceitos

Morelli



Comandos para criar ou alterar Tabelas



CREATE TABLE parâmetros

CREATE TABLE [schema.] tabela

(coluna1 tipo_de_dado [default expressão] [constraint_coluna],

...

(colunaN tipo_de_dado [default expressão] [constraint_coluna],

[constraint_tabela] );



ALTER TABLE parâmetros

ALTER TABLE [schema.] tabela

[add (coluna tipo_de_dado [default expressão] [constraint_coluna], ...)]

...

[modify (coluna tipo_de_dado [default expressão] [constraint_coluna], ...)] [rename to novo_nome_tabela] [add constraint_coluna/constraint_tabela] [drop constraint_coluna/constraint_tabela [cascade]] [enable/disable constraint_coluna/constraint_tabela];

(18)

SQL - Principais conceitos

Bandeira



Criação das Tabelas do exemplo:



ARTIGOS

CREATE TABLE artigos ( Autor varchar2(30), Titulo varchar2(30), Universidadeorigemvarchar2(30), Orgaofinanciador varchar2(30), Nota number(2,1) ); 

EVENTOS

CREATE TABLE eventos ( Evento varchar2(30), Local varchar2(30), Mês number(02), numparticipantes number(03), universidadeorganizadora varchar2(30) );

(19)

SQL - Principais conceitos



Criação das Tabelas do exemplo

(cont)

:



ACEITOS

CREATE TABLE aceitos ( Evento varchar2(30), Autor varchar2(30), Titulo varchar2(30) ); 

NOTA_DE_CORTE

CREATE TABLE nota_de_corte (

Nota_corte number(2,1)

);

(20)

SQL - Principais conceitos



Tipos de dados (principais)



CHAR(N)

Campos caracter de tamanho fixo.



VARCHAR2(N)

Campos caracter de tamanho variável (só considera os caracteres utilizados).



LONG

Utilizado para campos muito grandes.



RAW e LONG RAW

Equivalentes aos VARCHAR2 e LONG

respectivamente mas binários para guardar imagens, sons, etc...



NUMBER(p,e)

Campos numéricos (p=parte inteira e e=número de decimais).



DATE

Campos de datas.

(21)

SQL - Principais conceitos



Restrições de dados (constraints)

Destinadas a garantir a integridade dos

dados em determinadas condições



NULL | NOT NULL

Coluna aceita ou não valores nulos.



UNIQUE

Coluna somente aceita valores únicos.



CHECK

Coluna aceita somente os valores constantes na lista informada.



PRIMARY KEY

Identifica a chave primária da tabela.



FOREIGN KEY

Identifica que a coluna é uma chave estrangeira.

(22)

SQL - Principais conceitos



Operadores



Relacionais

Morelli pág. 15

Menor ou igual

<=

Maior ou igual

>=

Menor

<

Maior

>

Diferente

<>

Igual

=

(23)

SQL - Principais conceitos



Operadores



Lógicos

Morelli pág. 15

Se o campo é nulo

Is null

Negação

Not

Operador associativo –

equivale a uma união

Or

Operador restritivo –

equivale a uma intersecção

And

(24)

SQL - Principais conceitos

Machado cap.14



Comando para recuperar dados de

Tabelas



SELECT parâmetros

SELECT [distinct] {*,colunas [alias], expressões, funções, ...}

FROM {tabelas [alias],} [WHERE condição] [GROUP BY colunas] [HAVING condição]

(25)

SQL - Principais conceitos

Machado cap.14



Funções de linha –

para manipular dados



UPPER/LOWER;



Cálculos (SELECT 10 * 20 FROM

DUAL);



CONCAT ou ||;



INITCAP;



LENGTH;



SUBSTR;



LTRIM/RTRIM;



ROUND;



TRUNC

(26)

SQL - Principais conceitos

Machado cap.14



Funções de linha –

para manipular datas



ADD_MONTHS (data,n);



MONTHS_BETWEEN (data1,data2);



NEXT_DAY (data,’dia_da_semana’);



TO_DATE(campo,máscara);

(27)

SQL - Principais conceitos

Machado cap.14



Funções de linha –

para efetuar cálculos;



AVG (campo);



COUNT (campo|*);



MAX (campo);



MIN(campo);

(28)

SQL - Principais comandos

Morelli 3.1 e 3.2



Seleções básicas, ordenações e filtros

SELECT [distinct] {*,colunas [alias], expressões, funções, ...}

FROM {tabelas [alias],} [WHERE condição]

[GROUP BY colunas] [HAVING condição]

[ORDER BY colunas [asc | desc]];

(29)

SQL - Principais comandos



Recuperando dados de várias tabelas;



Conceitos



Qualificadores de nomes

Permitem a efetivação de uma junção entre tabelas em uma consulta pois, pode haver colunas de mesmo nome em tabelas

diferentes.



Duas sintaxes diferentes:

• Padrão standard

Equalização de colunas na cláusula WHERE (utilizada pelo MS-SQL e ORACLE).

• Padrão ANSI SQL

(30)

SQL - Principais comandos



Recuperando dados de várias tabelas;



Padrão ANSI SQL

Parâmetro JOIN na cláusula FROM



Tipos:

• INNER JOIN

Inclui somente as linhas que satisfacam a condição de junção;

• CROSS JOIN

Inclui cada uma das combinações de todas as linhas entre as tabelas; • OUTER JOIN

Inclui as linhas que satisfaçam a

condição de junção mais as linhas restantes de uma das tabelas da junção

(31)

SQL - Principais comandos



Recuperando dados de várias tabelas;



Padrão ANSI SQL

(cont)



Exemplos:



INNER JOIN

Ver os títulos de cada autor aceitos para um evento qualquer;

Select artigos.autor, aceitos.titulo From artigos INNER JOIN aceitos ON artigos.autor = aceitos.autor;



CROSS JOIN (produto cartesiano)

Mostrar os eventos de todos os artigos; Select artigos.autor, artigos.titulo,

aceitos.evento

(32)

SQL - Principais comandos



Recuperando dados de várias tabelas;



Padrão ANSI SQL

(cont)



Exemplos

(cont)

:



OUTER JOIN

Possui um parâmetro adicional para indicar de qual tabela se deseja incluir todas as linhas.

Utilidades: verificar quais linhas de uma tabela possuem relacionamento com a outra e quais não possuem.

Qualificadores:

LEFT OUTER JOIN – inclui todas as linhas da tabela do primeiro lado (esquerdo)

RIGHT OUTER JOIN – inclui todas as linhas da tabela do segundo lado (direito)

Select artigos.autor, aceitos.titulo

From artigos LEFT OUTER JOIN aceitos ON artigos.autor = aceitos.autor;

(33)

SQL - Principais comandos

Morelli 3.3



Seleções join (junção) de tabelas;



Tipos de junções (relações)

Padrão STANDARD.



Equijoin – campos iguais de tabelas

diferentes;

SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções, ...}

FROM tabela1 alias1, tabela2 alias2

WHERE alias1.coluna1 = alias2.coluna2;



Exemplo:

Ver os títulos de cada autor aceitos para

um evento qualquer;

Select art.autor, ace.titulo

From artigos art, aceitos ace

Where art.autor = ace.autor;

(34)

SQL - Principais comandos

Morelli 3.3



Seleções join (junção) de tabelas

(cont)

;



Tipos de junções (relações)

(cont)

;



Outerjoin – campos em comum

existam em duas tabelas e os que

faltam;

SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções, ...}

FROM tabela1 alias1, tabela2 alias2

WHERE alias1.coluna1 = alias2.coluna2(+) [ORDER BY colunas];



Exemplos:

Ver os títulos de cada autor aceitos para

um evento qualquer e os que não o

foram;

Select art.autor, art.titulo, ace.evento

From artigos art, aceitos ace

(35)

SQL - Principais comandos

Morelli 3.32



Seleções join (junção) de tabelas

(cont)

;



Tipos de junções (relações)

(cont)

;



NonEquijoin – reunir campos de

tabelas que não tenham nada em

comum.

SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções, ...}

FROM tabela1 alias1, tabela2 alias2, tabela3 alias3 WHERE alias1.coluna1 = alias2.coluna2 AND

alias3.coluna3 between valor_mínimo AND valor_máximo;



Exemplo:

Ver os títulos, as notas, os eventos e a nota de corte dos trabalhos aceitos;

Select art.titulo, art.nota, ace.evento, nc.nota_corte

From artigos art, aceitos.ace, nota_de_corte nc

Where art.autor = ace.autor And art.titulo = ace.titulo;

(36)

SQL - Principais comandos

Morelli 3.3



Seleções join (junção) de tabelas

(cont)

;



Tipos de junções (relações)

(cont)

;



Selfjoin – reunir campos diferentes de uma

mesma tabela que possam ter conteúdo do

mesmo tipo.

SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções, ...}

FROM tabela1 alias1, tabela1 alias2

WHERE alias1.coluna1 = alias2.coluna2;



Nota: note que a tabela é a mesma embora

os aliases sejam diferentes;



Exemplos:

Ver os artigos financiados pela própria

universidade;

Select art1.autor, art1.titulo,

art1.universidadeorigem, art2.orgaofinanciador From artigos art1, artigos art2

Where art1.universidadeorigem = at2.orgaofinanciador;

(37)

SQL - Principais comandos

Morelli 3.4.1



Seleções usando funções de linha;



Funções de caracteres;

Preenche à esquerda ou à direita com o caractere indicado em ‘c’ até o tamanho ‘n’, o campo indicado.

lpad/rpad (campo,

n,c)

Informa a quantidade de caracteres da coluna.

length (coluna)

Extrai parte dos caracteres de uma

coluna ou grupo de caracteres.

substr (coluna,

posição,tamanho)

Concatena duas colunas ou cadeia de caracteres (semelhante ao

operador de concatenação ‘||’).

concat

(coluna1,coluna2)

Converte o primeiro caractere de cada palavra em maiúsculo e o resto minúsculo.

initcap (coluna)

Converte caracteres em minúsculas ou maiúsculas.

lower/upper (coluna)

Descri

Descriççãoão Fun

(38)

SQL - Principais comandos

Morelli 3.4.2



Seleções usando funções de linha;



Funções de datas;

No ORACLE, o tipo DATE armazena internamente: século, ano, mês, dia, hora, minuto e segundo. O formato

padrão é DD-MMM-AA. O usuário poderá, a seu critério, utilizar estes dados de formas diferentes, utilizando as funções abaixo. A variável de sistema sysdate,

armazena a data/hora corrente.

Trunca data informada (idem round)

trunc (data, formato)

Arredonda a data informada para o primeiro ou último dia do mês

(quando o formato for MONTH) ou ano (quando formato for YEAR).

round (data, formato)

Retorna a data do último dia do mês em que se encontra a variável data.

last_day (data)

Retorna uma data, após a data

informada, em que o dia da semana seja igual a “dia_da_semana”.

next_day (data,

‘dia_da_semana’)

Adiciona ‘n’ meses à data informada

add_months (data, n)

Retorna o número de meses entre duas datas.

months_between (data1,data2)

Descri

Descriççãoão Fun

(39)

SQL - Principais comandos

Morelli 3.4.3



Seleções usando funções de linha;



Funções de numéricas;

Arredonda ‘num’ para cima ou para baixo.

ceil/floor (num)

Calcula a raiz quadrada de ‘n’.

sqrt (n)

Calcula n1 elevado a n2.

power (n1, n2)

Retorna o resto da divisão de ‘a’ por ‘b’, em que ‘a’ e ‘b’ podem ser

constantes, colunas ou expressões.

mod (a,b)

Trunca o valor ou coluna informada, em que ‘d’ indica o número de casas decimais desejado.

trunc (coluna, d)

Arredonda o valor ou coluna informada, em que ‘d’ indica o

número de casas decimais desejado.

round (coluna, d)

Descri

Descriççãoão Fun

(40)

SQL - Principais comandos

Morelli 3.4.4



Seleções usando funções de linha;



Funções de conversão de dados;

Converte um null encontrado na null

coluna, em um valor especificado.

nvl (coluna, valor)

Converte uma cadeia de caracteres, informando uma data, no tipo date, date

de acordo com a variável formato.

to_date (char,

‘formato’)

Converte a cadeia de caracteres numericos informados em um número inteiro.

to_number (char)

Converte um campo numérico ou data em uma cadeia de caracteres do tipo varchar2, com o formato varchar2

definido pela variável formato.

to_char (número ou

data, ‘formato’)

Descri

Descriççãoão Fun

(41)

SQL - Principais comandos

Morelli 3.4.5



Seleções usando funções de linha;



Funções de grupo;

Calcula a soma dos valores de uma coluna.

Sum (coluna)

Informa o valor mínimo de uma coluna.

Min (coluna)

Informa o valor máximo de uma coluna.

Max (coluna)

Informa o total de linhas selecionadas.

Count (coluna)

Calcula a média dos valores de uma coluna.

Avg (coluna)

Descri

Descriççãoão Fun

Funççãoão

Todas as funções desconsideram valores nulos, exceto

count

(42)

SQL - Principais comandos

Morelli 3.5



Seleções usando operadores de

conjunto;

Retorna o que um conjunto possui e o outro não.

Minus

Retorna os dados que são comuns a dois conjuntos de dados.

Intersect

Retorna a união entre dois conjuntos de dados com estruturas

semelhantes.

Union

Descri

Descriççãoão Operador

(43)

SQL - Principais comandos

Morelli 3.5



Seleções usando conjuntos;



Lista de valores

Parâmetro IN no comando WHERE;

Ver os eventos dos meses de férias

escolares (01, 07 e 12);

Select evento, mês

From eventos

Where mês IN (1, 7, 12);



Intervalos

Parâmetro BETWEEN no comando

WHERE;

Ver os eventos dos meses letivos do

primeiro semestre (02 a 06);

Select evento, mês

From eventos

(44)

SQL - Principais comandos

Morelli 4.2



Atualização de dados;



Alteração de linhas;

UPDATE tabela

SET coluna = valor [, coluna = valor ...] [WHERE condição];



Se a cláusula WHERE for omitida,

todas as linhas da tabela serão

alteradas.

(45)

SQL - Principais comandos

Morelli 4.3



Atualização de dados;



Eliminação de linhas;

DELETE [from] tabela [WHERE condição];



Se a cláusula WHERE for omitida,

todas as linhas da tabela serão

eliminadas.

(46)

SQL - Principais comandos

Morelli 6.3



Outras estruturas de dados;



Visões de dados;



Uma visão (view) é uma tabela virtual

na qual os dados não estão

fisicamente armazenados. É apenas

uma visão de um grupo de colunas

de uma ou mais tabelas do banco.



Vantagens:



Evitar que usuários não autorizados

tenham acesso a todos os dados de

uma tabela;



Associar a uma visão, consultas que

utilizam critérios de seleção

complexos, para facilitar o acesso

pelos usuários.

(47)

SQL - Principais comandos

Morelli 6.3



Outras estruturas de dados;



Criando visões;

CREATE [OR REPLACE] [force | noforce] VIEW nome_visão

[alias, ...] as subquery;



Onde:

Sentença select na qual será baseada a view.

subquery

Só cria a view se a tabela base existir.

noforce

Cria a view, mesmo que a tabela base não exista

force

Recria a view, se ela já existir

replace

Descrição

Opção



Há outros parâmetros que foram

omitidos e que poderão ser

consultados no livro.

(48)

SQL - Principais comandos

Morelli 6.4



Outras estruturas de dados;



Criando seqüências;



Valores que podem ser gerados

automaticamente pelo Oracle.



Muito útil na geração de valores para

chaves primárias;

(49)

SQL - Principais comandos

Morelli 6.4



Outras estruturas de dados;



Criando seqüências;

CREATE SEQUENCE seqüência [increment by n] [start with n] [maxvalue n | nomaxvalue] [cycle | nocycle] [cache n | nocache]; 

Onde:

Indica ao Oracle quantos valores são pré-alocados em memória

cache n | nocache

Indica que, quando atingir o valor máximo, a numeração continuará a partir do valor inicial ou não.

cycle | nocycle

Informa o valor máximo ou mínimo que a seqüência pode assumir.

maxvalue/minvalue

n

Informa o primeiro número a ser gerado.

start with n

Informa de quanto será o incremento ou decremento da seqüência.

increment by n

Nome da seqüência que não pode ser o mesmo de uma tabela ou view.

seqüência

Descrição

Opção

(50)

SQL - Principais comandos

Morelli 6.5



Outras estruturas de dados;



Criando sinônimos;



Estabelece nomes alternativos para

tabelas, views, índices ou

seqüências;



Objetiva facilitar a manipulação

desses objetos por outros usuários

que não o seu dono, dando-lhes

nomes mais curtos ou mais

significativos;



Preservar a definição de um objeto

por seu usuário original;



Utilizado como forma de

compartilhamento de objetos por

vários usuários.

(51)

SQL - Principais comandos

Morelli 6.5



Outras estruturas de dados;



Criando sinônimos;

CREATE [public] SYNONYM sinônimo for objeto;



Onde:

Informa o nome do objeto sobre o qual se aplica o sinônimo.

objeto

Indica que o sinônimo poderá ser usado por qualquer usuário.

public

Descrição

Opção

(52)

SQL - Principais comandos

Morelli 7



Subqueries;

Consulta utilizada dentro de um comando

SQL em diversas situações.



Subqueries de uma linha;

 Quando se espera que a consulta retorne

apenas um valor.

 Formato:

SELECT coluna [, coluna ...] FROM tabela1

WHERE [tabela1.]coluna = (SELECT [tabela2.]coluna2 FROM tabela2

[WHERE condição] );



Observe:



a presença do operador relacional =;



que, de fato, a subquery retorne

somente um valor;



Que a subquery é colocada entre

parênteses;



Pode ser utilizada para outros comandos

(53)

SQL - Principais comandos

Morelli 7



Subqueries;



Subqueries de múltiplas linhas;

 Quando se espera que a consulta retorne

um, ou mais de um valor em apenas uma coluna.

 Formato:

SELECT coluna [, coluna ...] FROM tabela1

WHERE [tabela1.]coluna IN | NOT IN

(SELECT [tabela2.]coluna2 FROM tabela2

[WHERE condição] );



Observe:



a presença do operador relacional IN, ou

NOT IN;



que, de fato, a subquery retorne

somente uma coluna;



Que a subquery é colocada entre

(54)

SQL - Principais comandos

Morelli 7



Subqueries;



Subqueries de múltiplas colunas;

 Quando se espera que a consulta retorne

um, ou mais de um valor em apenas uma ou várias colunas.

 Formato:

SELECT coluna [, coluna ...] FROM tabela1

WHERE [tabela1.]coluna IN | NOT IN

(SELECT [tabela2.]coluna2, [tabela2.]coluna3 FROM tabela2

[WHERE condição] );



Observe:



a presença do operador relacional IN, ou

NOT IN;



que a subquery retorna mais de uma

coluna;



Que a subquery é colocada entre

(55)

SQL - Principais comandos

Morelli 7



Subqueries;



Subqueries correlatas;

 Quando se utiliza uma coluna da consulta

externa na subquery.

 Formato:

SELECT coluna1 [, coluna2 ...] FROM tabela1

WHERE [tabela1.]coluna IN | NOT IN

(SELECT [tabela2.]coluna2 FROM tabela2

WHERE tabela2.coluna2 = tabela1.coluna2 );



Observe:



a presença do operador relacional IN, ou

NOT IN;



que a subquery utiliza uma coluna da

tabela 1 (mais externa) na sua condição

de comparação;



Que a subquery é colocada entre

(56)

Orientação Final



Página do professor na

internet:

http://prof.cle.sites.uol.com.br

Referências

Documentos relacionados

Esta parrilla de mesa de carbón vegetal puede ser empleada para asar a la parrilla con carbón vegetal para la preparación de alimentos aptos para ello.. Esta parrilla de mesa de

Durante a condução do ensaio foram realizadas as seguintes avaliações: fitotoxicidade visual (intoxicação) (Alam, 1974) aos 7, 14 e 28 dias após a aplicação (DAA),

A Estratégia Acolhimento Mãe-Bebê na Unidade Básica de Saúde, após alta da maternidade, foi implan- tada no Município do Rio de Janeiro em 2003, cumprin- do as linhas de

Nós vamos ter ainda a inauguração lá na Plani, em São José dos Campos, então diferente de outros anos, nós concentramos 2017 nesse 1S, para podermos chegar ao final do

Os sucessores de um estado são todos os estados que movem uma ou duas pessoas e um barco de um lado para o outro, sem que o número de missionários de um lado fique menor que o

E para só completar: achamos que o custo do dinheiro é realmente muito importante, mas na gestão de terceirização de frota a depreciação, quer dizer, quando você fala só de

Neste sentido, as soluçons propostas passam pola introduçom do livro galego no mercado português; polo desenho durnha política de traduçom de e para o galego

Para efetuar o estudo, deve ser utilizado um programa de gerenciamento de bancos de dados relacional que possua suporte à linguagem de consulta estruturada SQL.. Os exemplos