程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> oracle 11g-SQL語句:等值鏈接,外連接問題

oracle 11g-SQL語句:等值鏈接,外連接問題

編輯:編程解疑
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分了,請見諒。

最佳回答:


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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved