本文目錄一覽:
- 1、用sql語句查詢選修了3門及以上課程的學生學號,姓名,選修的課程數
- 2、mysql 選課表查詢
- 3、SQL查詢選修了兩門以上(包括兩門)課程的學生信息
- 4、5,在sql中查詢各個課程號和相應的選課人數的代碼
- 5、SQL數據庫中查詢選修了所有課程的學生的學號和姓名及選修門數
用sql語句查詢選修了3門及以上課程的學生學號,姓名,選修的課程數
SELECT學號FROM選課表GROUPBY學號HAVINGCOUNT(*)>=3
【拓展】
SQL即結構化查詢語言(Structured Query Language),是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係數據庫系統;同時也是數據庫腳本文件的擴展名。
SQL語句無論是種類還是數量都是繁多的,很多語句也是經常要用到的,SQL查詢語句就是一個典型的例子,無論是高級查詢還是低級查詢,SQL查詢語句的需求是最頻繁的。
基本語句 數據記錄篩選:
sql=”select * from 數據表 where字段名=字段值 order by字段名[desc]”(按某個字段值降序排列。默認升序ASC)
sql=”select * from 數據表 where字段名like ‘%字段值%’ order by 字段名 [desc]”
sql=”select top 10 * from 數據表 where字段名=字段值 order by 字段名 [desc]”
sql=”select top 10 * from 數據表 order by 字段名 [desc]”
sql=”select * from 數據表 where字段名in (‘值1′,’值2′,’值3’)”
sql=”select * from 數據表 where字段名between 值1 and 值2″
mysql 選課表查詢
給第二張表兩個別名a1,a2,然後用和學生表進行三表連接,然後在where條件中讓他的選修課編號是a和b兩門課就行了
SQL查詢選修了兩門以上(包括兩門)課程的學生信息
1:select sno(學生的學號) from sc(學生選課表)
group by sno having count(*)1
2:select s.sno,s.name from student s
where s.sno in(select sno from score sc
group by sc.cno having sum(sc.sno)2 )
3:應為三張表;學生表A 課程表B 選修表C(cid aid bid)–沒有選修任何課程的學生的學號
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ “S-Q-L”),是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係數據庫系統;同時也是數據庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的接口。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
5,在sql中查詢各個課程號和相應的選課人數的代碼
select cno ,count(*) as [選課人數]from stu_course
group by cno
order by [選課人數] desc
SQL數據庫中查詢選修了所有課程的學生的學號和姓名及選修門數
所有離開了數據結構(表結構)的SQL語句都是白搭!
先假設數據結構為
學生表(學號 主鍵或設有唯一索引,姓名,性別)
課程表(課程號 主鍵或設有唯一索引,課程名)
選課表(課程號,學號)– 字段「課程號」和「學號”設有雙字段唯一索引
查詢出選修了所有課程的學生的學號、姓名和選修門數:
select a.學號,b.姓名,a.cnt as 選修門數 from
(select 學號,count(1) as as cnt from 選課表 group by 學號
having count(1)=(select count(1) from 課程表)) a,
學生表 b where a.學號=b.學號;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/194388.html