sql中查詢學生張三所在班級的所有學生的姓名和年齡語句怎麼寫

2021-04-14 11:16:43 字數 1279 閱讀 3484

1樓:鏈家大表哥

先查詢張三

抄的班級,襲然後根據班級找學生

姓名和年齡

select 學生姓名,學生年齡 from table where 班級=( select 班級 from table where 學生姓名=『張三』)

存在班級表(班級,學生編號)和學生資訊表(學生編號,學生姓名,學歷)用sql語句查詢每個班級學歷為

2樓:哈皮的小逗比

table: class

class_id

stu_no

table: student

stu_no

stu_name

stu_edu

select class.class_id,count(student.stu_no)

from class left outer join student on class.stu_no=student.stu_no

where student.stu_edu='本科'

group by class.class_idorder by count(student.stu_no)

用sql語句,查詢每個班級成績排名前三名的學生姓名

3樓:翔阿狗

思路是先分組後按成績排序

4樓:匿名使用者

你的資料結構是怎麼樣的呢?

是否已經計算了總分

假設已經計算了總分

前三名所有記錄 列可以自定義 (列出前3名成績總分 3種主流資料庫寫法)

sqlserver資料庫:

select top 3 from 成績表 order by 總分 desc

mysql資料庫:

select * from 成績表 order by desc 總分 desc limit 3

oracle資料庫:

select * from 成績表 order by desc 總分 rownum <= 3

如果說沒有給出總分

需要先計算總分

select (語文+數學+。。。)as total top 3 from 成績表 order by total desc

然後其他資料庫自己靈活運用你自己所使用的資料庫的上述方法

5樓:匿名使用者

select top 3 * from 成績 group by 班級 order by 成績

SQL如何將查詢結果橫排顯示,sql中怎麼讓結果集橫向顯示?

這只是一個合併語句就搞定了。select floor,group contact roomid,as roomid from tablename group by floor 用二個 分隔如得到的結果是 1000 1001如果直接用group contact roomid 則是以,號分隔 如1000...

SQL查詢中in和exists的區別分析

通俗的說 exists是存在於哪張表,一般都是與子查詢一起使用exists 右邊是單值 in 是把滿足條件的都查出來 in 右邊是單值也可以是多個值 如果不知道什麼時候該用哪個就這樣理解.select from a where id in select id from b select from a...

從多個表中查詢資料的sql語句,sql一個表中同時查詢兩個count的sql語句

建立一個儲存過程用來讀取 create procedure testpercudureasdeclare col integerdeclare tablename varchar 100 declare sql as varchar 200 begin select top 0 qqnum into...