1 / 20

LPBD

LPBD. Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010. 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.

khalil
Download Presentation

LPBD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010

  2. 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.

  3. União de Dados • 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.

  4. União de Dados • Quando une duas ou mais tabelas apresenta apenas uma linha de registro caso haja nas tabelas envolvidas duplicidade daquele registro

  5. SINTAXE SELECT col1,col2 FROM tabela1 UNION [ALL] SELECT col3, col4 FROM tabela2 • Observe que os comando poderão acessar tabelas diferentes e utilizar as mais diversas construçoes da linguagem.

  6. REGRAS • Os comandos devem retornar o mesmo número de colunas • As colunas correspondentes em cada comando devem possuir os mesmos tipos de dados.

  7. 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.

  8. RESPOSTA 1 SELECT TITULO FROM LIVRO INNER JOIN ASSUNTO ON ASSUNTO = SIGLA WHERE DESCRICAO = ‘BANCO DE DADOS’ UNION SELECT TITULO FROM LIVRO INNER JOIN EDITORA E ON EDITORA = E.CODIGO WHERE NOME LIKE ‘%MIRANDELA%’ TITULO BANCO DE DADOS NA BIOINFORMÁTICA BANCO DE DADOS PARA WEB PROGRAMANDO EM LINGUAGEM C

  9. RESPOSTA 2 SELECT TITULO FROM LIVRO INNER JOIN ASSUNTO ON ASSUNTO = SIGLA WHERE DESCRICAO = ‘BANCO DE DADOS’ UNION ALL SELECT TITULO FROM LIVRO INNER JOIN EDITORA E ON EDITORA = E.CODIGO WHERE NOME LIKE ‘%MIRANDELA%’ TITULO BANCO DE DADOS PARA WEB BANCO DE DADOS PARA WEB PROGRAMANDO EM LINGUAGEM C BANCO DE DADOS NA BIOINFORMÁTICA

  10. 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.

  11. REGRAS • Os comandos devem retornar o mesmo número de colunas • As colunas correspondentes em cada comando devem possuir os mesmos tipos de dados.

  12. 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.

  13. RESPOSTA SELECT TITULO FROM LIVRO INNER JOIN ASSUNTO ON ASSUNTO = SIGLA WHERE DESCRICAO = ‘PROGRAMANDO’ INTERSECT SELECT TITULO FROM LIVRO INNER JOIN EDITORA E ON EDITORA = E.CODIGO WHERE NOME LIKE ‘%MIRANDELA%’ TITULO PROGRAMANDO EM LINGUAGEM C

  14. 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.

  15. 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.

  16. RESPOSTA SELECT TITULO FROM LIVRO INNER JOIN ASSUNTO ON ASSUNTO = SIGLA WHERE DESCRICAO = ‘PROGRAMANDO’ EXCEPT SELECT TITULO FROM LIVRO INNER JOIN EDITORA E ON EDITORA = E.CODIGO WHERE NOME LIKE ‘%MIRANDELA%’ TITULO BANCO DE DADOS NA BIOINFORMÁTICA

  17. 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’.

  18. RESPOSTA SELECT TITULO FROM LIVRO INNER JOIN EDITORA E ON EDITORA = E.CODIGO WHERE NOME LIKE ‘%MIRANDELA%’ EXCEPT SELECT TITULO FROM LIVRO INNER JOIN ASSUNTO ON ASSUNTO = SIGLA WHERE DESCRICAO = ‘BANCO DE DADOS’ TITULO PROGRAMANDO EM LINGUAGEM C

  19. PRÁTICA LABORATÓRIOUNION / INTERSECT / EXCEPT • Escreva o comando SQL que retorna uma listagem contendo os nomes das editoras que lançam apenas livros cujo assunto é ‘Banco de Dados’.

  20. Referências: • Livros da Bibliografia. • SQL: guia prático 2ed.– Rogério Luis de C Costa.Rio de Janeiro: BRASPORT, 2006

More Related