编程:按要求写出SQL语句
TableX有三个字段Code,Name,Age,其中Code为主键;
TableY有三个字段Code,Class,Score,其中Code+Class为主键;
两表记录如下:
Code Name Age
97001 张三 22
97002 赵四 21
97003 张飞 20
97004 李五 22
Code Class Score
97001 数学 80
97002 计算机 59
97003 计算机 60
97004 数学 55
1.通过等值联接,取出Name,Class,Score,请写出SQL即输出结果
2.通过外联接,取出每个学生的Name,Class,Score,请写SQL输出结果
楼主目前用的数据库是oracle 11g,尽量用Oracle的sql语句吧,如果用其他数据库的也
不介意的,不过回答的朋友请提示一下用的是什么数据库!
为了方便一些朋友调试,下面给出创建数据库和添加记录的sql语句吧.
create table TABLEX
(
CODE VARCHAR2(10) not null,
NAME VARCHAR2(20),
AGE NUMBER
);
alter table TABLEX
add constraint P_TABLEX primary key (CODE);
create table TABLEY
(
CODE VARCHAR2(10) not null,
CLASS VARCHAR2(20) not null,
SCORE NUMBER
);
alter table TABLEY
add constraint P_TABLEY primary key (CODE, CLASS);
insert into TABLEX (CODE, NAME, AGE)
values ('97001', '张三', 22);
insert into TABLEX (CODE, NAME, AGE)
values ('97002', '赵四', 21);
insert into TABLEX (CODE, NAME, AGE)
values ('97003', '张飞', 20);
insert into TABLEX (CODE, NAME, AGE)
values ('97004', '李五', 22);
commit;
insert into TABLEY (CODE, CLASS, SCORE)
values ('97001', '数学', 80);
insert into TABLEY (CODE, CLASS, SCORE)
values ('97002', '计算机', 59);
insert into TABLEY (CODE, CLASS, SCORE)
values ('97003', '计算机', 60);
insert into TABLEY (CODE, CLASS, SCORE)
values ('97004', '数学', 55);
commit;
ps:由于没有多少分,之类只能给2分了,请见谅。