『壹』 按照人名查出學生的各科成績以及總成績並按總成績排名的sql語句
按照人名查出學生的各科成績以及總成績並按總成績排名的sql語句示例如下:
selectA.name ,
(selectB.scorefromtable_scoreBwhereB.type='數學'andA.id=B.id) as數學 ,
(selectB.scorefromtable_scoreBwhereB.type='語文'andA.id=B.id) as語文,
(selectB.scorefromtable_scoreBwhereB.type='英語'andA.id=B.id)as英語,
(selectSUM(B.score)fromtable_scoreBwhereA.id=B.id)assum_score
fromtable_studentAorderbysum_scoreDESC
以上sql語句首先把學生表和成績表聯合查出每個學生的數學、語文、英語成績,然後通過selectSUM(B.score)fromtable_scoreBwhereA.id=B.id查出每個學生的總成績。
最後orderbysum_scoreDESC實現按總成績倒敘排列。
(1)sql查詢2名學生的英語成績擴展閱讀
上述sql語句重點是對as關鍵字的使用- Alias(別名),通過使用 SQL,可以為列名稱和表名稱指定別名(Alias)。
表的 SQL Alias 語法
SELECT column_name(s) FROM table_name AS alias_name;
列的 SQL Alias 語法
SELECT column_name AS alias_name FROM table_name;
Alias 實例: 使用表名稱別名
假設我們有兩個表分別是:"Persons" 和 "Proct_Orders"。我們分別為它們指定別名 "p" 和 "po"。
現在,我們希望列出 "John Adams" 的所有定單。
我們可以使用下面的 SELECT 語句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Proct_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John'
『貳』 查詢學生總成績的sql語句
select 學生.學號 as 姓名, sum(成績.分數) as 總分
from 學生
left join 成績 on 成績.學號=學生.學號
group by 學生.學號
sql語句
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like '%value1%' (所有包含'value1'這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
『叄』 SQL怎樣同時查詢多個學生多個科目的成績
這個用到行轉列
SELECT
`姓名編號`, MAX( CASE
WHEN course='項目1' THEN
"內容" END
) AS '項目1', MAX( CASE
WHEN course='項目2' THEN
"內容" END
) AS '項目2',
MAX( CASE
WHEN course='項目3' THEN
"內容" END
) AS '項目3' FROM
studentGROUP BY `姓名編號`
你可以參考下網站:網頁鏈接
『肆』 簡單SQL語句,查詢成績
select * from xs
inner join
(
select km,max(fs) as fs from xs group by km
)w
on xs.km = w.km and xs.fs = w.fs
這樣行不?憑想像寫的,請參考
『伍』 如何使用sql編寫查詢語句 用於查詢學生的 各科成績
declare
@sql
varchar(8000)
select
@sql='select
a.mname
as
學生姓名'
select
@sql=@sql+',sum(case
c.fname
when
'''+fname+'''
then
b.score
else
null
end
)as
'+fname
from
f
select
@sql=@sql+'
from
member
a
left
join
score
b
on
a.mid=b.mid
left
join
f
c
on
b.fid=c.fid
group
by
a.mname'
print
@sql
exec
(@sql)
費了好勁,真麻煩,頭一次搞這個東西
『陸』 查詢每個學生的各科成績sql語句
1、查詢每個學生的各科成績sql語句:
select a.studentid,a.name,a.sex,v1.score as '語文',v2.score as '數學', v3.score as '英語',v4.score
as 『哲學』, (v1.score+v2.score+v3.score+v4.score)/4 as 『平均成績』 from Stuednt a
left join
(select studentid,score from grade where cid=(select cid from course where cname='語文'))as v1
on a.studentid=v1.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='數學'))as v2
on a.studentid=v2.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='英語'))as v3
on a.studentid=v3.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='哲學'))as v4
on a.studentid=v4.studentid
order by a.studentid
2、sql資料庫介紹:
(1)SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出"做什麼"的命令,"怎麼做"是不用使用者考慮的。
(2)SQL功能強大、簡單易學、使用方便,已經成為了資料庫操作的基礎,並且現在幾乎所有的資料庫均支持SQL。
(3)SQL資料庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。
(4)在SQL中,關系模式(模式)稱為"基本表"(base table);存儲模式(內模式)稱為"存儲文件"(stored file);子模式(外模式)稱為"視圖"(view);元組稱為"行"(row);屬性稱為"列"(column)。
『柒』 SQL 查詢各門成績前兩名的學生
你先抽一條數據來反過來理解這條SQL
比如 你表格里的第一條:陳六、政治
SQL里的子句你把t.subject 替換成 我們這條數據真實的值,就可以看出來
select top 2 stu_id from stu_score where subject='政治' order by score desc
就是查詢我當前這條記錄對應的subject(政治)里,成績最高的兩條數據的 stu_id。
我再提供一種寫法給你
select*from(
selectt1.*,row_number()over()asfidfromstu_score)wherefid<=2
這種寫法主要是row_number() over(partition by subject order by score desc),
意思是:我按照subject 分組,根據score排序從大到小,分別標出序號fid。也就是我把不同subject的成績按從大到小排序,然後外層再取各自的前兩名
『捌』 sql簡單查詢語句
1、首先打開資料庫,建立好表。
『玖』 查詢數學成績高於英語成績的學生姓名及該生的數學、英語成績
其中姓名定義為長度為18的字元數組,其它數據成員類型為整型,數學總成績、英語總成績和人數為靜態數據成員,函數成員包括構造函數、顯示基本數據函數(ShowBase)和顯示靜態數據函數(ShowStatic)。
其中構造函數由已知參數姓名(nm)、學號(nu)、數學成績(math)和英語成績(english)構造對象,顯示基本數據函數用於顯示學生的姓名、學號、數學成績、英語成績,顯示靜態數據函數為靜態成員函數,用於顯示人數,數學總成績,英語總成績。
要求所有數據成員為private訪問許可權,所有成員函數為public訪問許可權,在主函數中定義若干個學生對象,分別顯示學生基本信息,以及顯示學生人數,數學總成績與英語總成績。
代碼:
#include"iostream"
using namespace std;
class student
{
private:
char name;
int num;
int mathScore;
int englishScore;
static int count;
static int mathTotalScore;
static int englishTotalScore;
public:
student(char *nm,int nu,int math,int english):num(nu),mathScore(math),englishScore(english){
strcpy(name,nm);
count++;
mathTotalScore+=mathScore;
englishTotalScore+=englishScore;
}
void bshow()
{
cout << name << " " << num << " " << mathScore << " " << englishScore << endl ;
}
static void show(){
cout << count << " " << mathTotalScore << " " << englishTotalScore << endl ;
};
};
int student::mathTotalScore=0;
int student::englishTotalScore=0;
int student::count=0;
void main()
{
student s("liu",1,60,60),t("pan",2,60,60);
s.bshow();
t.bshow();
student::show();
}
『拾』 如何使用sql編寫查詢語句 用於查詢學生的 各科成績
declare @sql varchar(8000)
select @sql='select a.mname as 學生姓名'
select @sql=@sql+',sum(case c.fname when '''+fname+''' then b.score else null end )as '+fname from f
select @sql=@sql+' from member a left join score b on a.mid=b.mid left join f c on b.fid=c.fid group by a.mname'
print @sql
exec (@sql)
費了好勁,真麻煩,頭一次搞這個東西