當前位置:首頁 » 課程設計 » 查詢課程1比課程2成績高的學生

查詢課程1比課程2成績高的學生

發布時間: 2021-03-12 10:45:48

1. 查詢「語文」課程比「數學」課程成績高的所有學生的學號 查詢如下課程成績第 3 名到第 6 名的學生

select a.sid from sc as a,sc as b
where a.sid=b.sid and a.cid='語文 and b.cid='數學' and a.score > b.score

2. 查詢出其2號課程成績比所有1號課程成績都低那些學生的學號. 方法一(用ALL): 方法二(用Min):

SELECT Sno FROM SC WHERE Cno='1' INTERSECT SELECT Sno FROM SC WHERE Cno='2' 集合運算,列的數目、類型要一致如果還報錯,那就考慮別的語法吧,not in或者not exists 列值不一樣的記錄,在集合想減時減不掉,所以要把cno和grade列去掉 就這么多了,希望能幫到你
更多建站問題,可搜一下「飄仙論壇」

3. 怎麼查詢「001」課程比「002」課程成績高的所有學生的學號表結構如下:

select a.sid, a.score as score1,b.score as score2 from (select * from scoretable where cid='001') a
left join
(select * from scoretable where cid='002')b
on a.sid=b.sid
where a.score>b.score

4. 在mysql中怎麼查 課程1總分比課程2總分多多少 結果能顯示為一個數據嗎, 學生表 s(

你這裡面只有學生表,課程表和班級表沒有分數的表啊

5. 查詢出其2號課程成績比所有1號課程成績都低那些學生的學號. 方法一(用ALL)

select 學號 from 選課表 where 成績< all(select 成績 from 選課表 where 課程號=1) and 課程號=2;

6. 查詢所有考試01號課程分數比所有02號課程分數高的學生學號,姓名

select 學號,姓名 from 學生表 where((select 成績 from 成績表 where 課程編號='01號')>(select 成績 from 成績表 where 課程編號='02號')
我也是初學的,應該這這樣的吧.

7. oracle 怎麼查詢科目一比科目二成績高的學生ID

select stu_id,avg(成績) from 表 group by stu_id;

現在學生都喜歡網路知道呀,前兩天遇見問和你一模一樣的題的,除了提問的主題不一樣,內容全是一樣,呵呵!

8. 資料庫查詢 查詢「001」課程比「002」課程成績高的所有學生的學號

分析如下:

--1selectSC1.S#fromSCSC1JOINSCSC2ONSC1.S#=SC2.S#

WHERESC1.C#='001'ANDSC2.C#='002'ANDSC1.score>SC2.score

--2selectS#,AVG(score)

平均成績fromSCgroupbyS#

havingAVG(score)>60--3selectStudent.S#,

Sname,COUNT(*)選課數,SUM(score)總成績

fromStudentJOINSConStudent.S#=SC.S#

groupbyStudent.S#,Sname

(8)查詢課程1比課程2成績高的學生擴展閱讀:

資料庫操作的注意事項

1、對查詢進行優化,要盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。

2、應盡量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:select id from t where num is null

最好不要給資料庫留NULL,盡可能的使用NOT NULL填充資料庫.

備注、描述、評論之類的可以設置為NULL,其他的,最好不要使用NULL。

不要以為NULL不需要空間,比如:char(100)型,在欄位建立時,空間就固定了,不管是否插入值(NULL也包含在內),都是佔用100個字元的空間的,如果是varchar這樣的變長欄位,null不佔用空間。

可以在num上設置默認值0,確保表中num列沒有null值,然後這樣查詢:select id from t where num = 0

3、應盡量避免在 where 子句中使用 != 或 <> 操作符,否則將引擎放棄使用索引而進行全表掃描。

4、應盡量避免在 where 子句中使用 or 來連接條件,如果一個欄位有索引,一個欄位沒有索引,將導致引擎放棄使用索引而進行全表掃描,如:select id from t where num=10 or Name = 'admin'

可以這樣查詢:
select id from t where num = 10
union all
select id from t where Name = 'admin'

5、in 和 not in 也要慎用,否則會導致全表掃描,如:select id from t where num in(1,2,3)

對於連續的數值,能用 between 就不要用 in 了:select id from t where num between 1 and 3

很多時候用exists 代替 in是一個好的選擇:select num from a where num in(select num from b)

用下面的語句替換:select num from a where exists(select 1 from b where num=a.num)

6、下面的查詢也將導致全表掃描:select id from t where name like 『%abc%』

若要提高效率,可以考慮全文檢索。

7、如果在 where 子句中使用參數,也會導致全表掃描。因為SQL只有在運行時才會解析局部變數,但優化程序不能將訪問計劃的選擇推遲到運行時;它必須在編譯時進行選擇。然 而,如果在編譯時建立訪問計劃,變數的值還是未知的,因而無法作為索引選擇的輸入項。

9. 急求SQL:查詢出其2號課程成績比所有1號課程成績都低那些學生的學號。

select 學號 from 選課表 where 課程號 = 2 and 成績 <
(select min(成績) from 選課表 where 課程號 = 1 )

這是習題吧 ?????

10. 有一張學生表 欄位有:學生編號 ,學生成績,科目 sql怎麼查詢科目一成績比科目二高的 學生編號

SELECT a.編號 FROM(
SELECT 編號,成績 FROM student WHERE 科目=『科目一』
)AS a
LEFT JOIN (
SELECT 編號,成績 FROM student WHERE 科目=『科目二』
)AS b ON a.編號=b.編號
WHERE a.成績>b.成績

熱點內容
幼師專業怎麼樣 發布:2021-03-16 21:42:13 瀏覽:24
音樂小毛驢故事 發布:2021-03-16 21:40:57 瀏覽:196
昂立中學生教育閘北 發布:2021-03-16 21:40:47 瀏覽:568
建築業一建報考條件 發布:2021-03-16 21:39:53 瀏覽:666
2017年教師資格注冊結果 發布:2021-03-16 21:39:49 瀏覽:642
中國教師資格證查分 發布:2021-03-16 21:39:41 瀏覽:133
踵什麼成語有哪些 發布:2021-03-16 21:38:20 瀏覽:962
東營幼師專業學校 發布:2021-03-16 21:35:26 瀏覽:467
機械電子研究生課程 發布:2021-03-16 21:33:36 瀏覽:875
杭州朝日教育培訓中心怎麼樣 發布:2021-03-16 21:33:28 瀏覽:238