2 zhang5476499 zhang5476499 于 2016.03.21 22:02 提问

SQL语句:等值链接,外连接问题

编程:按要求写出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分了,请见谅。

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.21 22:11
已采纳
1、 SELECT NAME,CLASS,SCORE FROM TABLEX,TABLEY WHERE TABLEX.CODE=TABLEY.CODE

2、SELECT NAME,CLASS,SCORE FROM TABLEX LEFT JION TABLEY ON TABLEX.CODE=TABLEY.CODE
qq_34377825
qq_34377825   2016.03.21 22:12

1、 SELECT NAME,CLASS,SCORE FROM TABLEX,TABLEY WHERE TABLEX.CODE=TABLEY.CODE

2、SELECT NAME,CLASS,SCORE FROM TABLEX LEFT JION TABLEY ON TABLEX.CODE=TABLEY.CODE

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!