








Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Saiba como utilizar subqueries no sql para realizar consultas complexas em bancos de dados. Este documento fornece exemplos e sintaxe para diferentes tipos de subqueries, incluindo igualdade, in, exists, correlated subqueries e unions. Além disso, aprenderá a utilizar subqueries para encontrar autores com o mesmo sobrenome, listar autores e livros, encontrar editores e livros, calcular vendas por loja e encontrar livros mais caros e mais baratos.
Tipologia: Notas de estudo
1 / 14
Esta página não é visível na pré-visualização
Não perca as partes importantes!









(completo e correto) select a1.au_lname, a1.au_fname from authors a1, authors a where a1.au_lname = a2.au_lname and a1.au_id != a2.au_id (que autores possuem o mesmo sobrenome?)
Exemplo: select au_lnane, au_fnarne, titles.title_id, title from authors, titleauthor, titles where authors.au_id = titleauthor.au_id and titleauthor.title_id = titles.title_id (Liste os autores de cada livro.)
Sintaxe simplificada: select lista_do_select from [[banco_de_dados.] owner .] {tabela1}, [[banco_de_dados.] owner .] {tabela2} [[...]] [ where tabela1.nome_de_coluna {= | =} tabela2.nome_de_coluna]
Exemplo: select stor_name, sum(qty) from salesdetail, stores where stores.stor_id *= salesdetail.stor_id group by stor_name
(assuma que esta sendo aberta uma nova loja, que ainda não vendeu, liste a venda total de cada loja incluindo esta nova loja)
Sintaxe simplificada: select lista_do_select from lista_de_tabelas [ where condição_de_pesquísa] = ( select lista_do_select from lista_de_tabelas [ where condição_de_pesquisa] [ group by expressão_agregada]
Exemplo: (dois níveis) select title from titles where title_id = (select title_id from titleauthor where au_id = (select au_id from authors where au_lname = ‘Blotchet-Halls’)) (Que livros Blotchet-Halls escreveu?)
select pub_name, pub_id from publishers where pub_id = (select pub_id from titles where price = (select max(price) from titles) (que editor publicou o livro mais caro?)
Sintaxe simplificada: select lista_do_select from lista_de_tabelas [ where condições_de_pesquisa] [ not ] in (subquery)
Exemplo: select distinct stor_id, title_id from salesdetail where stor_id in (select stor_id from stores where state = “CA”) (Que livros foram vendidos na Califórnia CA?)
select distinct stor_name from stores where stor_id in (select stor_id from salesdetail where title_id in (select title_id from titles where title= ‘The Busy Executive’s Database Guide’)) (Que lojas venderam o livro ‘The Busy Executive’s Database Guide?)
select distinct pub_name from publishers where pub_id not in (select pub_id from titles where type = ‘business’) (Que editores não editaram livros da categoria ‘business’?)
Sintaxe simplificada: select lista_do_select from lista_de_tabelas [ where expressão {= | != | < | > | <= | >= }] (subquery)
Sintaxe simplificada: select lista_do_select from lista_de_tabelas [where {exists | not exists}] (subquery) (intersecção entre autores e editores)
select distinct city from authors where exists (select * from publishers where authors.city = publisliers.cíty) (Que autores moram na mesma cidade que editores?)
(diferença entre autores e editores) select distinct city from authors where not exists (select * from publishers where authors.cíty = publishers.city) (Que autores não moram na mesma cidade que editores?)
Exemplo: select city, state from publishers union select city, state from stores union select city, state from stores order by state, city
Exemplo: (criação de tabela carregando os dados) select * into new_titles from titles
(criação de tabela não carregando os dados) select * into new_pubs from publishers where 1 = 2
(criação de tabela com carga limitada de dados) select * into pub_1389_titles from titles where pub_id = ‘1389’
(criação de tabela eliminando colunas) select pub_name, pub_id into short_pubs frorn publishers
Sintaxe simplificada: insert [into] tabela [(lista_de_colunas)] { values (constantes) | comando_select} (Adiciona uma linha simples.)
Exemplo: (linha completa) insert into new_pubs value (‘9945’,’Mysteries Galore’,’Kansas City’, ‘KS’)
(inserindo uma aspa) insert into new_pubs value (‘4444’, “O’bryan Publishing House”, ‘Washington’,’DC’)
(alteração de dados para as linhas que satisfaçam a condição) update new_titles set contract = 0 where pub_id = ‘1389’
(alteração para todas as linhas incondicionalmente) update new_titles set advance = 0
(alteração dos dados de uma tabela baseados nos dados de outra tabela) update new_titlies set contract = 0 from new_titles, publishers where new_titles.pub_id = publishers.pub_id and pub_name = ‘New Age Books’
(alteração usando sub quety,) update new_titlies set total_sales = (select sum(qty) from salesdetail where title_id = ‘BU1032’)
Sintaxe simplificada: delete [from] tabela [from tabela] [,...] [wbere condições_de_pesquisa]
Exemplo: (remove dados de uma tabela baseados em uma constante) delete from new_pubs where pub_name = ‘Mysteri’
delete from new_titles where price > $
(remove dados de uma tabela baseados em outra tabela) delete new_titles from new_titles, new_pubs where new_titles.pub_id = new_pubs.pub_id and pub_name = “Jardin’s”
(remove dados de uma tabela usando subqueries) delete from new_titles where title)id in (select title_id from titleauthor where au_id in (select au_id from authors where state = ‘UT’))
Sintaxe simplificada: drop table tabela