1樓:
-- 查詢有不及格成績的學生姓名
select t_stud.studname from t_stud inner join t_select on t_stud.studno = t_select.
studno where t_select.score < 60
-- 查詢有選課的學生姓名
select studname , count(studname) from
(select distinct t_stud.studname from t_stud inner join t_select on t_stud.studno = t_select.
studno
) temptable group by studname太多了,需要的話 找我。
2樓:
搞清er圖關係,就不難寫了
舉例所教學生最多的老師
看er關係是 t_stud(學生)--t_select(選課)--t_sub (課程)--t_teacher(教師)
找學生和老師之間的關係涉及4個表關聯
select top 1 count(a.學生) 數量,d.teacherno
from
t_stud a join t_select b on a.studno=b.studno join on t_sub c on b.
subno=c.subno join t_teacher d on c.teacherno=d.
teacherno
group by d.teacherno
order by 數量 desc
建議還是自己練習
3樓:
太簡單了 看哥給你寫 等著
select studname
from t_select, t_stud
where score <60
and t_select.studno = t_stud. studno
查詢有選課的學生姓名
select distinct studname
from t_select, t_stud
where t_select .subno is not null
and t_select.studno = t_stud. studno
(每個姓名只出現一次distinct, group by)
後面跟著選課數量
select count(studno )
from t_select
查詢選修了60歲以上老師所教課程的所有學生
select *
from t_stud, t_select,
(select t_sub. subno
from t_teacher, t_sub
where t_teacher. teacherage>60
and t_teacher. teacherno = t_sub.teacherno
) awhere t_stud. studno= t_select.studno
and a. subno = t_select. subno
其他的類似 都是巢狀查詢+庫函式 沒有別的竅門
4樓:匿名使用者
select stuname from t_stud where stuno in (select stuno from t_select where score<60) /*查詢有不及格成績的學生姓名*/
5樓:邂逅丶永生
北大青鳥二期的資料庫題?
sql查詢多表排序,sql多表分組查詢並排序的問題
select table2.from table2 inner join table1 on table2.table1 id table1.id order by table1.paixu 就像你寫的這樣,直接加過濾條件就可以 但是要在字段前加表名字首以區分兩個表的id欄位 select tabl...
sql多表連線查詢問題,sql 兩表連線查詢的問題
可以,下面的sql文你可以參考一下 select a.id,b.type,b.prid idfrom a a inner join c c on a.id c.id left join b b on a.type b.type and b.prid id c.prid id 完全可以實現,使用左外連...
sql連線查詢跟多表查詢的區別
這倆沒區別 就是寫法不同 這個就如同表1裡有a,b倆欄位一樣 select a,b from 表1 select from 表1 是一樣的 順便給你擴充套件下吧 在資料庫裡還有left join,right join,full join等 當這樣的時候用 select from table1,tab...