I would like to select the AuthorName , AuthorName , Book_Title attributes from a database that has the Book, Author, and Publisher tables, and EditorName of tables that are not directly related (so to speak), this is the bank structure;
create table if not exists Livro(
Id_livro tinyint auto_increment,
Titulo_livro varchar(45) not null,
Data_publicacao_livro date not null,
primary key(Id_livro)) default charset = utf8;
create table if not exists Autor(
Id_autor tinyint auto_increment,
Nome_autor varchar(45) not null,
Sobrenome_autor varchar(45) not null,
primary key(Id_autor)) default charset = utf8;
create table if not exists Editora(
Id_editora tinyint auto_increment,
Nome_editora varchar(45) not null,
primary key(Id_editora)) default charset = utf8;
/*Um livro pode ter mais de um autor bem como um mesmo titulo pode ser publicado por mais de uma editora
dessa forma temos um relacionamento de muitos para muitos com cada uma das tabelas*/
create table if not exists Publicado( -- Essa tabela relaciona o livro com a editora
Id_livro tinyint not null,
Id_editora tinyint not null,
primary key(Id_livro, Id_editora),
foreign key(Id_livro) references Livro(Id_livro),
foreign key(Id_editora) references Editora(Id_editora));
create table if not exists Escrito( -- Relaciona o livro com os autores
Id_livro tinyint not null,
Id_autor tinyint not null,
primary key(Id_livro, Id_autor),
foreign key(Id_livro) references Livro(Id_livro),
foreign key(Id_autor) references Autor(Id_autor));
I use a simple inner join? or does a subquery need to be done?