Diferença entre junção, união e subconsulta em sql
27/12/2013
0
:
a) JUNÇÃO DE TABELAS
b) UNIÃO DE TABELAS
c) SUBCONSULTA O SUBQUERY
2 - Qual a necessidade de criar um select into (copiar os dados de uma tabela para outra nova)?
Anacleto Linux
Posts
27/12/2013
Fabiano Carvalho
Uniaão de tabela pode-se usar para unir dois select em um unico resultado (union e union all), exemplo:
Select 1 union select 2 union select 3
A diferença é que no union é retornado valores distintos (unicos) e union all pode trazer valores duplicados.
Subselect é o mesmo que
Select * fom tabela1 where id in (select id from tabela2)
E select into é utilizado para criar copias de tabela, caso tenha dúvida se o resultado de um delete ou update será o esperado, pode se criar tabelas fisicas ou temporarias para o teste.
28/12/2013
Anacleto Linux
- CROSS JOIN
- INNER JOIN
- LEFT JOIN
- RAGHT JOIN
- FULL JOIN
e quaj dos três é a mais usado hoje em dia?
junção de tabela
união de tabela
subconsulta
01/01/2014
Anacleto Linux
Uniaão de tabela pode-se usar para unir dois select em um unico resultado (union e union all), exemplo:
Select 1 union select 2 union select 3
A diferença é que no union é retornado valores distintos (unicos) e union all pode trazer valores duplicados.
Subselect é o mesmo que
Select * fom tabela1 where id in (select id from tabela2)
E select into é utilizado para criar copias de tabela, caso tenha dúvida se o resultado de um delete ou update será o esperado, pode se criar tabelas fisicas ou temporarias para o teste.
no caso a junçaõ é:
- CROSS JOIN
- INNER JOIN
- LEFT JOIN
- RAGHT JOIN
- FULL JOIN
e quaj dos três é a mais usado hoje em dia?
junção de tabela
união de tabela
subconsulta
01/01/2014
Anacleto Linux
Uniaão de tabela pode-se usar para unir dois select em um unico resultado (union e union all), exemplo:
Select 1 union select 2 union select 3
A diferença é que no union é retornado valores distintos (unicos) e union all pode trazer valores duplicados.
Subselect é o mesmo que
Select * fom tabela1 where id in (select id from tabela2)
E select into é utilizado para criar copias de tabela, caso tenha dúvida se o resultado de um delete ou update será o esperado, pode se criar tabelas fisicas ou temporarias para o teste.
no caso a junçaõ é:
- CROSS JOIN
- INNER JOIN
- LEFT JOIN
- RAGHT JOIN
- FULL JOIN
e quaj dos três é a mais usado hoje em dia?
junção de tabela
união de tabela
subconsulta
01/01/2014
Anacleto Linux
Uniaão de tabela pode-se usar para unir dois select em um unico resultado (union e union all), exemplo:
Select 1 union select 2 union select 3
A diferença é que no union é retornado valores distintos (unicos) e union all pode trazer valores duplicados.
Subselect é o mesmo que
Select * fom tabela1 where id in (select id from tabela2)
E select into é utilizado para criar copias de tabela, caso tenha dúvida se o resultado de um delete ou update será o esperado, pode se criar tabelas fisicas ou temporarias para o teste.
no caso a junçaõ é:
- CROSS JOIN
- INNER JOIN
- LEFT JOIN
- RAGHT JOIN
- FULL JOIN
e quaj dos três é a mais usado hoje em dia?
junção de tabela
união de tabela
subconsulta
02/01/2014
Jair N.
-- CRIANDO TABELAS
CREATE TABLE t1 (num INTEGER, inf VARCHAR(25), CONSTRAINT pk_t1 PRIMARY KEY (num));
CREATE TABLE t2 (num INTEGER, inf VARCHAR(25), CONSTRAINT pk_t2 PRIMARY KEY (num));
CREATE TABLE t3 (num INTEGER, inf VARCHAR(25), CONSTRAINT pk_t3 PRIMARY KEY (num));
-- INSERINDO TABELA UM
INSERT INTO t1 VALUES (1,'cerveja');
INSERT INTO t1 VALUES (2,'tequila');
INSERT INTO t1 VALUES (3,'vodka');
INSERT INTO t1 VALUES (4,'whisky');
-- INSERINDO TABELA DOIS
INSERT INTO t2 VALUES (1,'cerveja');
INSERT INTO t2 VALUES (2,'tequila');
INSERT INTO t2 VALUES (3,'vodka');
INSERT INTO t2 VALUES (5,'vinho');
-- INSERINDO TABELA TRÊS
INSERT INTO t3 VALUES (2,'tequila');
INSERT INTO t3 VALUES (3,'vodka');
INSERT INTO t3 VALUES (4,'whisky');
INSERT INTO t3 VALUES (5,'vinho');
/*/
SELECT inf FROM t1; -- {'cerveja','tequila','vodka','whisky'}
SELECT inf FROM t2; -- {'ceverja','tequila','vodka','vinho'}
SELECT inf FROM t3; -- {'tequila','vodka','whisky','vinho'}
SELECT t1.inf AS inf1, t2.inf AS inf2, t3.inf AS inf3
FROM t1
INNER JOIN t2
ON (t2.num = t1.num)
INNER JOIN t3
ON (t3.num = t2.num)
SELECT t1.inf AS inf1, t2.inf AS inf2, t3.inf AS inf3
FROM t1
FULL JOIN t2
ON (t2.num = t1.num)
FULL JOIN t3
ON (t3.num = t2.num)
SELECT t1.inf AS inf1, t2.inf AS inf2, T3.inf AS inf3
FROM t1
CROSS JOIN t2
CROSS JOIN t3
SELECT t1.inf AS inf1, t2.inf AS inf2, t3.inf AS inf3
FROM t1
CROSS JOIN t2
CROSS JOIN t3
WHERE (t1.num = t2.num)
OR (t2.num = t3.num)
OR (t3.num = t1.num)
SELECT t1.inf AS inf1, t2.inf AS inf2, t3.inf AS inf3
FROM t1
LEFT JOIN t2
ON (t2.num = t1.num)
LEFT JOIN t3
ON (t3.num = t2.num)
SELECT t1.inf AS inf1, t2.inf AS inf2, t3.inf AS inf3
FROM t1
RIGHT JOIN t2
ON (t2.num = t1.num)
RIGHT JOIN t3
ON (t3.num = t2.num)
Bem, quanto a junção interna ou externa, satisfazendo cada situação cabe ao retorno do procedimento retornar linhas de dados que corresponde a essa sua junção utilizada.
Uniaão de tabela pode-se usar para unir dois select em um unico resultado (union e union all), exemplo:
Select 1 union select 2 union select 3
A diferença é que no union é retornado valores distintos (unicos) e union all pode trazer valores duplicados.
Subselect é o mesmo que
Select * fom tabela1 where id in (select id from tabela2)
E select into é utilizado para criar copias de tabela, caso tenha dúvida se o resultado de um delete ou update será o esperado, pode se criar tabelas fisicas ou temporarias para o teste.
no caso a junçaõ é:
- CROSS JOIN
- INNER JOIN
- LEFT JOIN
- RAGHT JOIN
- FULL JOIN
e quaj dos três é a mais usado hoje em dia?
junção de tabela
união de tabela
subconsulta
02/01/2014
Leandro Chiodini
segue um artigo mt interessante sobre isto.
http://www.macoratti.net/sql_acc.htm
att,
Clique aqui para fazer login e interagir na Comunidade :)