4
我创造了这样的表:SQL查询联接未正常工作
create table utilisateur(
id_util number(10) primary key,
nom varchar2(10) not null,
prenom varchar2(10) not null,
date_naissance date not null,
adress varchar2(20)
);
create table cour(
id_cour number(10) primary key,
c_nom varchar2(20) not null,
auteur varchar2(20) not null
);
create table etude(
fk_util number(10) references utilisateur(id_util),
fk_cour number(10) references cour(id_cour),
primary key(fk_util,fk_cour)
);
create table examen(
id_ex number(10) primary key,
ex_nom varchar2(20) not null,
temp date,
fk_cour number(10) references cour(id_cour)
);
create table passer(
fk_util number(10) references utilisateur(id_util),
fk_ex number(10) references examen(id_ex),
primary key(fk_util,fk_ex),
note number(4)
);
create table certificat(
cert_nom varchar2(20),
prix varchar2(10),
code varchar2(10) primary key,
fk_ex number(10),
fk_util number(10)
);
create table signet(
id_sign number(10) primary key,
s_nom varchar2(20) not null,
depand_par varchar2(20) not null,
fk_util number(10) references utilisateur(id_util)
);
的问题是,我希望看到所有用户(utilisateur
),至极课程(cour
)他们正在阅读,至极考试(examen
),他们已经通过了,他们收到了哪些证书(certificat
)。
我试图用内连接,左连接和右连接,完全连接,查看,但没有成功。如果我有3门课程和2门考试,比我看到重复的东西。我在想,也许在我的数据库中有什么不对。
您可以发布您正在使用的查询吗?这两门考试是针对单一课程的吗?在这个模式中这可能会导致你正在描述的行为。 –
这是查询:选择utilisateur.nom,cour.c_nom,examen.ex_nom从 utilisateur留在 utilisateur.id_util = etude.fk_util留在 etude.fk_cour加入考尔一起练习曲= cour.id_cour留在 加入路人utilisateur.id_util = passer.fk_util左加入examen passer.fk_ex = examen.id_ex; –