線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1080
推到 Plurk!
推到 Facebook!

如何从两张表中查询?

尚未結案
ffprince
初階會員


發表:66
回覆:62
積分:25
註冊:2003-08-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-18 20:47:41 IP:218.85.xxx.xxx 未訂閱
我想从数据库的两张表中查询内容实现联合查询,假如从第一张表(student1)中查询出学号,姓名,年龄,课程。而从第二张表(class2) 表中查询出成绩。而且在第二张表中也有学号,年龄等字段,而且表一和表二的字段名是一致的,请问我如何通过sql语句进行联合查询? 我用了'select 学号,姓名,课程,成绩 from student1,class2 where 学号=学号 and 课程=课程;请问这样查询行吗?如何不行我该如何查询啊?
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-18 21:42:30 IP:211.20.xxx.xxx 未訂閱
ffprince 你好 'select a.学号,a.姓名,a.课程,b.成绩 from student1 a,class2 b where a.学号=b.学号 and a.课程=b.课程' 對於表class2 學號及課程應該唯一Key,或如下述 'select a.学号,a.姓名,a.课程,b.成绩 from student1 a Join class2 b ON (a.学号=b.学号 and a.课程=b.课程') Wher 其他條件'
ffprince
初階會員


發表:66
回覆:62
積分:25
註冊:2003-08-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-18 22:33:53 IP:218.85.xxx.xxx 未訂閱
假如我的student表中的主键和class表中的主键不一样,而着两主键又都不作为查询条件,我能查询么?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-19 14:29:17 IP:210.65.xxx.xxx 未訂閱
Hi:
假設現在有四個 Table    學生檔 --> Table1
Student_Id,Student_Name,xxxxx
主鍵 Student_Id    課程檔 --> Table2
Class_Id,Class_Name,Teacher_ID,xxxxx
主鍵 Class_Id    老師檔 --> Table3
Teacher_Id,Teacher_Name,xxxxx
主鍵 Teacher_Id    選課檔 --> Table4
Student_Id,Class_ID,Period_Code,xxxxx
主鍵 Period_Code,Student_Id,Class_ID    select  t1.student_name,
        t2.class_name,
        t3.teacher_name
from    table1 t1,
        table2 t2,
        table3 t3,
        table4 t4
where   t1.student_id = t4.student_id
and     t2.class_id = t4.class_id
and     t3.teacher_id = t2.teacher_id
and     t4.period_code = 'xxxxx'    亦即,
1.主鍵並不一定需用來作為查詢之條件
2.各 table 關聯欄位名稱不同也可以
3.設計表格時須考慮資料之正規化
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-19 17:09:59 IP:211.20.xxx.xxx 未訂閱
引言: 假如我的student表中的主键和class表中的主键不一样,而着两主键又都不作为查询条件,我能查询么? 對於表class2 學號及課程應該唯一Key,或如下述
ffprince 你好 如上,對於表class2 學號及課程應該(唯一Key)而不一定是主鍵 , 此為多對一的資料關聯,若關聯鍵對於Table2不是唯一的話,則為多對多的關聯,視個人需求而定。
ffprince
初階會員


發表:66
回覆:62
積分:25
註冊:2003-08-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-01 22:50:37 IP:218.85.xxx.xxx 未訂閱
多谢两位的赐教,我觉得你们的回答都很好!可是我不知道如何才能指定俩个人同时都得分,所以chance36很抱歉!我只好再次感谢您了!
系統時間:2024-11-23 10:15:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!