PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
student
Amateur Member
 
student的大頭照
 

加入日期: Jul 2005
文章: 36
select S_name from student where s# in (select s# distinct from Take group by s# having count(s#) > 4)

不能修改了 補充一下
我覺得還是樓主用的方法速度會比較快一點!!
     
      
__________________
讓我獨中大樂透頭獎
舊 2008-05-11, 11:26 PM #11
回應時引用此文章
student離線中  
Devil
Power Member
 

加入日期: Jan 2001
您的住址: Taipei
文章: 503
引用:
作者student
select S_name from student where s# in (select s# distinct from Take group by s# having count(s#) > 4)

不能修改了 補充一下
我覺得還是樓主用的方法速度會比較快一點!!

既然已經group by 就沒必要distinct 了
 
__________________
舊 2008-05-11, 11:32 PM #12
回應時引用此文章
Devil離線中  
student
Amateur Member
 
student的大頭照
 

加入日期: Jul 2005
文章: 36
引用:
作者Devil
既然已經group by 就沒必要distinct 了


哈~ 說得是!! 一時沒發現!!
__________________
讓我獨中大樂透頭獎
舊 2008-05-12, 12:11 AM #13
回應時引用此文章
student離線中  
s0510510
Advance Member
 
s0510510的大頭照
 

加入日期: Apr 2004
文章: 336
不好意思,小弟又有問題了
1.如果要將R,S做Left Outer Join
在SQL中表示應該是R Left Outer Join S 還是 R Left Join S
小弟在書上看到兩種不同表示方法,還是兩種方法都可以
2.那如果要做Left Outer theat Join
在SQL中表示應該是R Left Outer Join on S 嗎?
不好意思,小弟問題有點多,請大大幫忙一下,感恩
__________________
舊 2008-05-12, 09:30 AM #14
回應時引用此文章
s0510510離線中  
elase
*停權中*
 

加入日期: Dec 2006
文章: 89
引用:
作者s0510510
不好意思,小弟又有問題了
1.如果要將R,S做Left Outer Join
在SQL中表示應該是R Left Outer Join S 還是 R Left Join S

SQL Server 中 Outer 關鍵字可以省略
舊 2008-05-12, 11:15 AM #15
回應時引用此文章
elase離線中  
Devil
Power Member
 

加入日期: Jan 2001
您的住址: Taipei
文章: 503
引用:
作者s0510510
不好意思,小弟又有問題了
2.那如果要做Left Outer theat Join
在SQL中表示應該是R Left Outer Join on S 嗎?

這個問題我看不懂
LEFT JOIN後面接的是TABLE(可以是子資料查詢)
ON後面接的是連結的條件式
簡單一點的方法可以用ACCESS去新增一個查詢(有圖形化工具)
再將他顯示為SQL語法
另外每一種DB的JOIN語法也都有點差異
__________________
舊 2008-05-12, 12:22 PM #16
回應時引用此文章
Devil離線中  
student
Amateur Member
 
student的大頭照
 

加入日期: Jul 2005
文章: 36
引用:
作者Devil
這個問題我看不懂
LEFT JOIN後面接的是TABLE(可以是子資料查詢)
ON後面接的是連結的條件式
簡單一點的方法可以用ACCESS去新增一個查詢(有圖形化工具)
再將他顯示為SQL語法
另外每一種DB的JOIN語法也都有點差異


select s_name from s left join r on s.s# = r.s#

表示抓出s資料表的資料, 並且利用 s.s# 與 r.s# 運算是將 r 資料表與s 資料表結合
但是抓出來的資料以s資料表為主, r資料表只是將符合的資料join上去
__________________
讓我獨中大樂透頭獎
舊 2008-05-12, 01:26 PM #17
回應時引用此文章
student離線中  
guliano
Silent Member
 

加入日期: Jan 2005
文章: 0
select A.S_name from Student A join (select S#, count(*) from Take group by S# having count(*) >= 5) B on A.S# = B.S#
舊 2008-05-12, 02:44 PM #18
回應時引用此文章
guliano離線中  
s0510510
Advance Member
 
s0510510的大頭照
 

加入日期: Apr 2004
文章: 336
引用:
作者elase
SQL Server 中 Outer 關鍵字可以省略

不好意思發因為事情耽擱,這麼晚才上來回復
原來在SQL中,Outer Join的Outer可以省略
這樣小弟清楚了,感恩
__________________
舊 2008-05-14, 04:02 PM #19
回應時引用此文章
s0510510離線中  
s0510510
Advance Member
 
s0510510的大頭照
 

加入日期: Apr 2004
文章: 336
引用:
作者Devil
這個問題我看不懂
LEFT JOIN後面接的是TABLE(可以是子資料查詢)
ON後面接的是連結的條件式
簡單一點的方法可以用ACCESS去新增一個查詢(有圖形化工具)
再將他顯示為SQL語法
另外每一種DB的JOIN語法也都有點差異

先跟大大說聲抱歉,小弟語言表達能力不好,造成大大的困擾
小弟會這樣問的原因是因為考試的題目這樣問
要將Relational Algebra 用SQL指令寫出來
所以想說針對Relation Algerbra在SQL指令整理出來
在整理過程中發現Outer Join在SQL中的指令有兩種
一種是Left Join,另外一種是Left Outer Join
所以才會發問第一個問題

發現這問題之後,小弟又想到還有一個指令
Left Outer Theta Join在SQL中為R LEFT OUTER JOIN ON S(書上面這樣表示)
所以我在想如果這裡的Outer可以拿掉嗎?
我想是不是我想太多,想到走火入魔@@

聽到大大說有SQL很多版本,這樣每個版本指令都有差異
簡單的說就是要看是在那本版用
那考試這樣出,不是為難考生嗎?
誰叫小弟是考生,就盡力準備
多謝大大的回復,感恩
__________________
舊 2008-05-14, 04:14 PM #20
回應時引用此文章
s0510510離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是11:44 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。