CREATE DATABASE BANCO2;
USE BANCO2;
CREATE TABLE funcionario(
codFuncionario int primary key auto_increment,
nome varchar(40)notnull,
cpf char(14)notnull,
genero enum('m','f')notnull,
salario floatdefault'0'notnull);
CREATE TABLE endereco (
codEndereco int primary key auto_increment,
rua varchar(60)notnull,
bairro varchar(60)notnull,
cidade varchar(60)notnull,
codFuncionario int,
constraint fk_codFunc foreign key(codFuncionario) references funcionario (codFuncionario));
CREATE TABLE dependente (
codigoEndereco int primary key auto_increment notnull,
nome varchar(60)notnull,
grau varchar (10)notnull,
telefone varchar(10)notnull,
codFuncionario int,
constraint fk_codFuncd foreign key(codFuncionario) references funcionario (codFuncionario));
insert into funcionario values (null,'Rodrigo Ferreira','128.918.837-80','M',1500),(null,'Rodrigo Vasconcelos','128.918.837-81','M',1500),(null,'Rodrigo Guimarães','128.918.837-82','M',1500),(null,'Carollyne Ferreira','128.918.837-83','F',2000),(null,'Carollyne da Silva','128.918.837-84','F',2500);
insert into endereco values (null,'Sousa Caldas','Oswaldo Cruz','Rio de Janeiro',1),(null,'Estrada da Portela','Madureira','Rio de Janeiro',2),(null,'Carolina Machado','Oswaldo Cruz','Rio de Janeiro',3);
insert into dependente values (null,'Dependente1','Filho','2112345678',1),(null,'Dependente2','Filha','2112345678',1),(null,'Dependente3','Irmão','2112345678',1),(null,'Dependente1','Filho','2112345678',2),(null,'Dependente2','Filha','2112345678',2),(null,'Dependente1','Filho','2112345678',3);select funcionario.nome, dependente.nome, grau, telefone
from funcionario, dependente
where funcionario.codFuncionario = dependente.codFuncionario
and funcionario.codFuncionario =1
order by dependente.nome desc;-- inner join apresenta o mesmo resultado
select funcionario.nome, dependente.nome, grau, telefone
from funcionario inner join dependente
where dependente.codFuncionario = funcionario.codFuncionario
and funcionario.codFuncionario =1
order by dependente.nome desc;-- equi join apresenta o mesmo resultado
select funcionario.nome, dependente.nome, grau, telefone
from funcionario inner join dependente
using(codFuncionario)where funcionario.codfuncionario =1
order by dependente.nome desc;-- equi join com between
select funcionario.nome, dependente.nome, grau, telefone
from funcionario inner join dependente
using(codFuncionario)where cpf between '128.918.837-80'and'128.918.837-83'
order by funcionario.nome desc;-- left join
select*from funcionario left join endereco on funcionario.codFuncionario = endereco.codFuncionario;--Inner join com 3 tabelas
select funcionario.codFuncionario, funcionario.nome, dependente.nome, grau, rua, bairro, cidade
from funcionario
inner join dependente on dependente.codFuncionario = funcionario.codFuncionario
inner join endereco on endereco.codFuncionario = funcionario.codFuncionario
order by funcionario.nome desc;
Como vou saber quando a sintaxe está realmente errada? A consulta está funcionando e o Workbench apresenta erro nas linhas. =(
Pergunta
rodrigofv1994
Como vou saber quando a sintaxe está realmente errada? A consulta está funcionando e o Workbench apresenta erro nas linhas. =(
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.