prof. rebecca arambasic agbd lpbd pesquisa avançada union / intersect / except aula 1 / 2010

20
Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Upload: francisco-carreiro

Post on 07-Apr-2016

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

LPBD

Pesquisa avançadaUNION / INTERSECT / EXCEPT

Aula 1 / 2010

Page 2: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

União de Dados

• O recurso de união de dados baseia-se na união de uma consulta em uma única consulta por meio de múltiplos comandos SELECT.

• Esse recurso é utilizado pelo predicado UNION ou UNION ALL sendo posicionado entre dosi comandos de consulta.

Page 3: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

• ALL representa todos os registros encontrados na consulta, independente de esses registros serem ou não duplicados.

• Se ALL for omitido o comando UNION assume como default a apresentação de valores únicos caso haja alguma duplicidade.

União de Dados

Page 4: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

• Quando une duas ou mais tabelas apresenta apenas uma linha de registro caso haja nas tabelas envolvidas duplicidade daquele registro

União de Dados

Page 5: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

SINTAXE

SELECT col1,col2

FROM tabela1UNION [ALL]SELECT col3, col4FROM tabela2

• Observe que os comando poderão acessar tabelas diferentes e utilizar as mais diversas construçoes da linguagem.

Page 6: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

REGRAS

– Os comandos devem retornar o mesmo número de colunas

– As colunas correspondentes em cada comando devem possuir os mesmos tipos de dados.

Page 7: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

EXERCÍCIO

• Listar os títulos dos livros que cujo assunto é “Banco de Dados” ou que foram lançados por editoras que contenham “Silva” no nome.

Page 8: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

RESPOSTA 1

SELECT TITULOFROM LIVRO

INNER JOIN ASSUNTOON ASSUNTO = SIGLA

WHERE DESCRICAO = ‘BANCO DE DADOS’UNIONSELECT TITULOFROM LIVRO

INNER JOIN EDITORA EON EDITORA = E.CODIGO

WHERE NOME LIKE ‘%MIRANDELA%’

TITULO

BANCO DE DADOS NA BIOINFORMÁTICABANCO DE DADOS PARA WEBPROGRAMANDO EM LINGUAGEM C

Page 9: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

RESPOSTA 2

SELECT TITULOFROM LIVRO

INNER JOIN ASSUNTOON ASSUNTO = SIGLA

WHERE DESCRICAO = ‘BANCO DE DADOS’UNION ALLSELECT TITULOFROM LIVRO

INNER JOIN EDITORA EON EDITORA = E.CODIGO

WHERE NOME LIKE ‘%MIRANDELA%’

TITULOBANCO DE DADOS PARA WEBBANCO DE DADOS PARA WEBPROGRAMANDO EM LINGUAGEM CBANCO DE DADOS NA BIOINFORMÁTICA

Page 10: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

INTERSECÇÃO

• Para obtermos a intersecção entre os resultados de comandos SELECT utilizamos o predicado INTERSECT.

• INTERSECT retornará as linhas que estejam preesente nos resultados de todas as cosultas participantes.

• Retornará as linhas que estejam presentes nos resultados de todas as colunas participantes.

Page 11: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

REGRAS

– Os comandos devem retornar o mesmo número de colunas

– As colunas correspondentes em cada comando devem possuir os mesmos tipos de dados.

Page 12: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

EXERCÍCIO

• Listar os títulos dos livros cujo assunto é ‘Programando’ e que foram lançados por uma editora que contenha a palavra ‘Mirandela’ no nome, sem repetições.

Page 13: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

RESPOSTA

SELECT TITULOFROM LIVRO

INNER JOIN ASSUNTOON ASSUNTO = SIGLA

WHERE DESCRICAO = ‘PROGRAMANDO’INTERSECTSELECT TITULOFROM LIVRO

INNER JOIN EDITORA EON EDITORA = E.CODIGO

WHERE NOME LIKE ‘%MIRANDELA%’

TITULO

PROGRAMANDO EM LINGUAGEM C

Page 14: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

DIFERENÇA

• Também é possível realizar diferenç entre os resultados de comandos SELECT. Neste caso o predicado utilizado é o EXCEPT.

• EXCEPT nã permite linhas repetidas no resultado final.

Page 15: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

EXERCÍCIO

• Listar os títulos dos livros cujo assunto é ‘Banco de Dados’ e que não foram lançados por editoras que contenham ‘Mirandela’ no nome.

Page 16: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

RESPOSTA

SELECT TITULOFROM LIVRO

INNER JOIN ASSUNTOON ASSUNTO = SIGLA

WHERE DESCRICAO = ‘PROGRAMANDO’EXCEPTSELECT TITULOFROM LIVRO

INNER JOIN EDITORA EON EDITORA = E.CODIGO

WHERE NOME LIKE ‘%MIRANDELA%’

TITULO

BANCO DE DADOS NA BIOINFORMÁTICA

Page 17: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

EXERCÍCIO 2

• Listar os títulos dos livros que foram lançados por editoras que contenham ‘Mirandela’ em seu nome e cujo assunto não é ‘Banco de Dados’.

Page 18: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

RESPOSTA

SELECT TITULOFROM LIVRO

INNER JOIN EDITORA EON EDITORA = E.CODIGO

WHERE NOME LIKE ‘%MIRANDELA%’EXCEPTSELECT TITULOFROM LIVRO

INNER JOIN ASSUNTOON ASSUNTO = SIGLA

WHERE DESCRICAO = ‘BANCO DE DADOS’

TITULO

PROGRAMANDO EM LINGUAGEM C

Page 19: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBDPRÁTICA LABORATÓRIOPRÁTICA LABORATÓRIO UNION / INTERSECT / EXCEPT

1. Escreva o comando SQL que retorna uma listagem contendo os nomes das editoras que lançam apenas livros cujo assunto é ‘Banco de Dados’.

Page 20: Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

Prof. Rebecca Arambasic

AGBD

Referências:

• Livros da Bibliografia.• SQL: guia prático 2ed.– Rogério Luis de C

Costa.Rio de Janeiro: BRASPORT, 2006