filmov
tv
SQL-JOIN em Banco de Dados (INNER, LEFT, RIGHT e FULL)
Показать описание
Aula sobre recuperar dados de várias tabelas em um banco de dados usando os comandos JOIN do SQL.
Abaixo, os comandos apresentados no vídeo:
CREATE TABLE PESSOA (
ID INTEGER PRIMARY KEY,
NOME VARCHAR(50) NOT NULL
);
CREATE TABLE ROUPA (
ID INTEGER PRIMARY KEY,
DESCRICAO VARCHAR(50) NOT NULL,
DONO INTEGER,
FOREIGN KEY (DONO) REFERENCES PESSOA(ID)
);
INSERT INTO PESSOA (ID,NOME) VALUES (1,'João');
INSERT INTO PESSOA (ID,NOME) VALUES (2,'Pedro');
INSERT INTO PESSOA (ID,NOME) VALUES (3,'Sabrina');
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (1,'Camiseta Verde',2);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (2,'Calça Amarela',2);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (3,'Vestido Vermelho',3);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (4,'Camiseta Azul',NULL);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (5,'Vestido Rosa',NULL);
SELECT * FROM PESSOA;
SELECT * FROM ROUPA;
SELECT * FROM PESSOA P INNER JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P LEFT JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P RIGHT JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P FULL OUTER JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P FULL OUTER JOIN ROUPA R ON P.ID = R.DONO WHERE P.ID IS NULL OR R.ID IS NULL;
SELECT * FROM PESSOA P LEFT JOIN ROUPA R ON P.ID = R.DONO WHERE R.ID IS NULL;
SELECT * FROM PESSOA P RIGHT JOIN ROUPA R ON P.ID = R.DONO WHERE P.ID IS NULL;
Abaixo, os comandos apresentados no vídeo:
CREATE TABLE PESSOA (
ID INTEGER PRIMARY KEY,
NOME VARCHAR(50) NOT NULL
);
CREATE TABLE ROUPA (
ID INTEGER PRIMARY KEY,
DESCRICAO VARCHAR(50) NOT NULL,
DONO INTEGER,
FOREIGN KEY (DONO) REFERENCES PESSOA(ID)
);
INSERT INTO PESSOA (ID,NOME) VALUES (1,'João');
INSERT INTO PESSOA (ID,NOME) VALUES (2,'Pedro');
INSERT INTO PESSOA (ID,NOME) VALUES (3,'Sabrina');
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (1,'Camiseta Verde',2);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (2,'Calça Amarela',2);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (3,'Vestido Vermelho',3);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (4,'Camiseta Azul',NULL);
INSERT INTO ROUPA (ID,DESCRICAO,DONO) VALUES (5,'Vestido Rosa',NULL);
SELECT * FROM PESSOA;
SELECT * FROM ROUPA;
SELECT * FROM PESSOA P INNER JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P LEFT JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P RIGHT JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P FULL OUTER JOIN ROUPA R ON P.ID = R.DONO;
SELECT * FROM PESSOA P FULL OUTER JOIN ROUPA R ON P.ID = R.DONO WHERE P.ID IS NULL OR R.ID IS NULL;
SELECT * FROM PESSOA P LEFT JOIN ROUPA R ON P.ID = R.DONO WHERE R.ID IS NULL;
SELECT * FROM PESSOA P RIGHT JOIN ROUPA R ON P.ID = R.DONO WHERE P.ID IS NULL;
Комментарии