OneCompiler

banco de dados de uma biblioteca

192

banco de dados de uma biblioteca

CREATE TABLE livros (
id INTEGER PRIMARY KEY,
titulo TEXT,
autor TEXT,
genero TEXT,
numero_exemplares TEXT
);

CREATE TABLE clientes (
id INTEGER PRIMARY KEY,
nome TEXT,
CPF TEXT,
endereco TEXT,
email TEXT,
telefone TEXT
);

CREATE TABLE funcionarios (
id INTEGER PRIMARY KEY,
nome TEXT,
email TEXT,
CPF TEXT,
telefone TEXT
);

CREATE TABLE emprestimos (
id INTEGER PRIMARY KEY,
clientes_id INTEGER,
livros_id INTEGER,
data_emprestimo TEXT,
data_devolucao TEXT
);

##clientes
INSERT INTO clientes VALUES (1,"jp","000000000-12","rua cabaral junior, 1342", "[email protected]", "86998534511");
INSERT INTO clientes VALUES (2,"bin laden","000000000-13","rua cabaral junior, 1243", "[email protected]", "86998534511");
##livros
INSERT INTO livros VALUES (1, "almanaque do aviao", "desconhecido", "drama", "001");
##funcionarios
INSERT INTO funcionarios VALUES (1, "francid", "[email protected]", "000000000-14", "86998534510");
##emprestimos
INSERT INTO emprestimos VALUES (1,2,1,"09/08/2001","14/10/2001");

##selecionar informações
SELECT * FROM clientes;

SELECT * FROM livros;

SELECT * FROM funcionarios;

SELECT clientes.nome,emprestimos.data_devolucao, emprestimos.data_emprestimo,
livros.titulo
FROM emprestimos LEFT JOIN clientes ON emprestimos.clientes_id = clientes.id
LEFT JOIN livros ON emprestimos.livros_id = livros.id;

##left join -> é como se você estivesse pegando todos os carrinhos da caixa "emprestimos"

e espalhando-os em uma mesa. Em seguida, você olha para cada carrinho e verifica

se ele tem um boneco correspondente na caixa "clientes". Se tiver, você coloca o carrinho

e o boneco juntos em um lugar. Se não tiver um boneco para um carrinho,

você ainda deixa o carrinho na mesa, sozinho.

Então, o LEFT JOIN garante que todos os carrinhos da caixa "emprestimos" estejam presentes

na mesa, mesmo que alguns deles não tenham um boneco correspondente da caixa "clientes".

##seleciona_tabelas_e_colunas_(table.column)
##seleciona_os_dados_da_tabela_(emprestimos)_e_junta_outra
##table(clientes)_com_emprestimos_e_as_column_etc.