1. sql資料庫 查詢每個學生的總成績,結果包括學號和總成績兩個欄位。
你可以把數據表再修改下.
把借閱表裡再加個默認的欄位(書的數量先默認為0)
在借書的時候edit這個數量或+1.如果是多選,就for循環選種書的總數量再去修改.
時間可以獲取伺服器時間.
2. 資料庫查詢 查詢「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
(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只有在運行時才會解析局部變數,但優化程序不能將訪問計劃的選擇推遲到運行時;它必須在編譯時進行選擇。然 而,如果在編譯時建立訪問計劃,變數的值還是未知的,因而無法作為索引選擇的輸入項。
3. 用select語句, 查詢『資料庫開發技術』課程所有學生的學號及成績
select
from
表格名
where
ID
=
「x」;
其中x是Name的ID,表格裡面的ID,然後使用空間就可以讀取了
4. 若學生表中存儲了學號、姓名、成績等欄位,則「查詢所有學生的姓名和成績」的SQL語句是__________。
假設學生表名稱為student,姓名欄位名稱是name,成績的欄位名稱是score。
那麼「查詢所有學生的姓名和成績」的SQL語句如下:
select student.name,student.score from student;
下面我們在SQL練習網站上測試一下我們的結果,首先進入測試網站SQL Fiddle
然後新建SQL表,最後寫入執行語句。
(4)資料庫查詢所有學生的學號成績擴展閱讀:
SQL SELECT 語法
SELECT 列名稱 FROM 表名稱
以及:SELECT * FROM 表名稱
注釋:SQL 語句對大小寫不敏感。SELECT 等效於 select。
SQL SELECT 實例
如需獲取名為 "LastName" 和 "FirstName" 的列的內容(從名為 "Persons" 的資料庫表),請使用類似這樣的 SELECT 語句:
SELECT LastName,FirstName FROM Persons
5. 有學生表(學號,姓名,班級,總成績),要得到每個同學的學號和總成績,則SQL查詢語句是
SELECT 學號,總成績 FROM 學生表;
每個詞之間有空格 ,注意逗號。
6. 請幫忙寫出下列SQL語句的步驟: 1.查詢成績表的所有成績 2.查詢學生的學號,姓名和年齡 (接著在下面)
你表的欄位和表的關系都沒給....
只能認為表裡面有所有的欄位了...
1 select * from 成績表
2 select 學號,姓名,年齡 from 學生信息表
3 select 學號,姓名,課程名,成績 from 選課表
4 select * from 學生信息表 where 姓名 like '張%'
5 select top 4 * from 學生信息表 where 學號 like '9952%'
6 select count(*) as 男生人數 from 學生信息表 where 性別='男'
7 select * form 學生信息表 where 性別='女' and 黨員='是'
8 select 學號 from 成績表 where 成績>80 and 成績<90
9 select 學號,姓名 from 成績表 where 成績<60
PS:這題,如果姓名不在成績表中的話應該是:
select 學號,姓名 from 成績表,學生信息表 where 成績表.學號=學生信息表.學號 and 成績表.成績<60
10 select 學號,姓名,性別 from 學生信息表 order by 學號 desc
這里我把"學生表"寫成"學生信息表",是為了看著更清楚
如果要改的話,自己看著改
7. SQL查詢所有學生的學號,姓名和性別,做完了我給高分
給我每個表的結構和關聯關聯,我給你做,保證99.99999%滿分
8. 5.用SQL命令查詢所有學生的學號、姓名、總成績、平均成績。
## 簡介
資料庫在查詢上的sql 語句 基本是沒有差異的,
## 工具
mysql 資料庫,windowds 7
## 步驟
1.打開mysql資料庫,點擊新增查詢
2.selectno,name,totalScore,avgScorefromScoreTable;