![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - SQL 的問題
(https://www.pcdvd.com.tw/showthread.php?t=793595)
|
|---|
select S_name from student where s# in (select s# distinct from Take group by s# having count(s#) > 4)
不能修改了 補充一下 我覺得還是樓主用的方法速度會比較快一點!! |
引用:
既然已經group by 就沒必要distinct 了 :agree: |
引用:
哈~ 說得是!! 一時沒發現!! :) |
不好意思,小弟又有問題了
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 嗎? 不好意思,小弟問題有點多,請大大幫忙一下,感恩 |
引用:
SQL Server 中 Outer 關鍵字可以省略 |
引用:
這個問題我看不懂 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上去 |
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#
|
引用:
不好意思發因為事情耽擱,這麼晚才上來回復 原來在SQL中,Outer Join的Outer可以省略 這樣小弟清楚了,感恩 |
引用:
先跟大大說聲抱歉,小弟語言表達能力不好,造成大大的困擾 小弟會這樣問的原因是因為考試的題目這樣問 要將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很多版本,這樣每個版本指令都有差異 簡單的說就是要看是在那本版用 那考試這樣出,不是為難考生嗎? 誰叫小弟是考生,就盡力準備 多謝大大的回復,感恩 |
| 所有的時間均為GMT +8。 現在的時間是01:57 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。