# SESSION DE BANCO DE DADOS PARTE 1 ## SCHEMA DA TABELA ```sql= CREATE TABLE TB_FILMES ( id_filme int primary key auto_increment, nm_filme varchar (255), dt_lancamento date, vl_avaliacao decimal (10,2), bt_disponivel bool ); CREATE TABLE TB_GENERO ( id_genero int primary key auto_increment, nm_genero varchar (255), bt_ativo bool ); INSERT INTO TB_FILMES (nm_filme, dt_lancamento, vl_avaliacao, bt_disponivel) VALUES ("Vingadores", "2013-10-12", 10.0, false), ("Titanic", "2004-04-11", 8.9, false), ("Jojo Rabbit", "2020-05-07", 9.0, true), ("Kimetsu no yaiba: Mugen train", "2020-07-19", 10.0, true), ("Vingadores: Ultimato", "2019-03-15", 9.5, true); INSERT INTO TB_GENERO (nm_genero, bt_ativo) VALUES ("Ação", true), ("Terror", false), ("Anime", true), ("História", true), ("Romance", false); CREATE TABLE TB_FILME_GENERO ( id_filme_genero int primary key auto_increment, id_filme int, id_genero int, foreign key (id_filme) references TB_FILMES (id_filme), foreign key (id_genero) references TB_GENERO (id_genero) ); INSERT INTO TB_FILME_GENERO (id_filme, id_genero) VALUES (1,3), (1,1), (2,5), (2,4), (3,4), (3,1), (4,3), (4,1), (5,1), (5,2); /* UPDATES */ UPDATE TB_FILMES SET vl_avaliacao = 6.5 WHERE id_filme = 2; UPDATE TB_GENERO SET nm_genero = "Comédia" WHERE id_genero = 2; UPDATE TB_FILME_GENERO SET id_filme = 4 WHERE id_filme_genero = 10; /* DELETES DELETE FROM TB_FILMES WHERE id_filme = 2; DELETE FROM TB_GENERO WHERE id_genero = 4; DELETE FROM TB_FILME_GENERO WHERE id_filme_genero = 8; */ ``` ## QUERY DA TABELA ```sql= /* DML 1 */ SELECT f.nm_filme, g.nm_genero FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero ORDER BY f.nm_filme; /* DML 2 */ SELECT f.id_filme , f.nm_filme, g.id_genero, g.nm_genero FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE f.vl_avaliacao >4 ORDER BY f.nm_filme; /* DML 3 */ SELECT f.nm_filme, f.vl_avaliacao, f.dt_lancamento FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE fg.id_genero = 1 ORDER BY f.vl_avaliacao; /* DML 4 */ SELECT f.nm_filme, f.vl_avaliacao, f.dt_lancamento, f.bt_disponivel, g.nm_genero FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE fg.id_genero = 2 AND 5; /* DMLS EXTRAS */ SELECT f.nm_filme, f.vl_avaliacao, g.nm_genero FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE fg.id_genero < 3; SELECT f.nm_filme, g.nm_genero FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE f.nm_filme LIKE ('V%'); SELECT f.nm_filme, f.dt_lancamento, g.nm_genero FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE f.bt_disponivel = true; SELECT f.nm_filme, f.dt_lancamento, f.bt_disponivel FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE f.dt_lancamento > "2020-01-01" AND f.bt_disponivel = true; SELECT f.nm_filme, g.nm_genero FROM TB_FILME_GENERO fg INNER JOIN TB_FILMES f ON f.id_filme = fg.id_filme INNER JOIN TB_GENERO g ON g.id_genero = fg.id_genero WHERE g.nm_genero = 5; ``` ## LINK PARA O DBFIDDLE https://www.db-fiddle.com/f/aQv6aXxRcWabr7aV2ywF8z/8
{"metaMigratedAt":"2023-06-15T23:57:07.954Z","metaMigratedFrom":"Content","title":"SESSION DE BANCO DE DADOS PARTE 1","breaks":true,"contributors":"[{\"id\":\"4c424d8f-f274-42df-9402-f6014d7ba673\",\"add\":3770,\"del\":0}]"}
Expand menu