-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpratica_3_juncoes
More file actions
61 lines (42 loc) · 2.53 KB
/
pratica_3_juncoes
File metadata and controls
61 lines (42 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
-- Criando Tabelas --
CREATE TABLE profissoes(
id SERIAL PRIMARY KEY,
cargo VARCHAR(60) NOT NULL);
CREATE TABLE clientes(
id SERIAL PRIMARY KEY,
nome VARCHAR(60) NOT NULL,
data_nascimento DATE NOT NULL,
telefone VARCHAR(10) NOT NULL,
id_profissao INT REFERENCES profissoes(id) NOT NULL);
CREATE TABLE consumidor(
id SERIAL PRIMARY KEY,
nome VARCHAR(50) NOT NULL,
contato VARCHAR(50) NOT NULL,
endereco VARCHAR(50) NOT NULL,
cidade VARCHAR(50) NOT NULL,
cep VARCHAR(20) NOT NULL,
pais VARCHAR(50) NOT NULL);
-- Populando ou Inserindo Dados nas Tabelas --
INSERT INTO profissoes (cargo) VALUES ('Programador');
INSERT INTO profissoes (cargo) VALUES ('Analista de Sistemas');
INSERT INTO profissoes (cargo) VALUES ('Suporte');
INSERT INTO profissoes (cargo) VALUES ('Gerente');
INSERT INTO clientes (nome, data_nascimento, telefone, id_profissao) VALUES ('João Pereira', '1991-06-15', '1234-8999', 1);
INSERT INTO clientes (nome, data_nascimento, telefone, id_profissao) VALUES ('Ricardo da Silva', '1973-10-10', '2234-8875', 2);
INSERT INTO clientes (nome, data_nascimento, telefone, id_profissao) VALUES ('Felipe Oliveira', '1987-08-01', '4589-6322', 3);
INSERT INTO clientes (nome, data_nascimento, telefone, id_profissao) VALUES ('Mário Pirez', '1991-02-15', '4569-8775', 1);
INSERT INTO consumidor (nome, contato, endereco, cidade, cep, pais) VALUES ('Alfredo Nunes', 'Maria Nunes', 'Rua da Paz, 47', 'São Paulo', '11701-110', 'Brasil');
INSERT INTO consumidor (nome, contato, endereco, cidade, cep, pais) VALUES ('Anna Trajano', 'Guilherme Souza', 'Rua Dourada, 452', 'Goiânia', '11710-123', 'Brasil');
INSERT INTO consumidor (nome, contato, endereco, cidade, cep, pais) VALUES ('Leandro Freitas', 'Pedro Siqueira', 'Rua da Várzea, 987', 'São Paulo', '07790-000', 'Brasil');
-- Realizando Junção por Produto Cartesiano --
SELECT c.id, c.nome, c.data_nascimento, c.telefone, p.cargo FROM clientes AS c, profissoes AS p WHERE c.id_profissao = p.id;
-- Inner Join --
SELECT c.id, c.nome, c.data_nascimento, c.telefone, p.cargo FROM clientes AS c INNER JOIN profissoes AS p ON c.id_profissao = p.id;
-- Left Outer Join --
SELECT * FROM clientes LEFT OUTER JOIN profissoes ON clientes.id_profissao = profissoes.id;
-- Right Outer Join --
SELECT * FROM clientes RIGHT OUTER JOIN profissoes ON clientes.id_profissao = profissoes.id;
-- Full Outer Join --
SELECT * FROM clientes FULL OUTER JOIN profissoes ON clientes.id_profissao = profissoes.id;
-- Cross Join --
SELECT c.id, c.nome, c.data_nascimento, c.telefone, p.cargo FROM clientes AS c CROSS JOIN profissoes AS p;