編程:按要求寫出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分了,請見諒。
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