mysql資料庫常見試題(mysql資料庫應用答案)

本文目錄一覽:

MySQL資料庫面試題:A表有10條數據B表有9條數據用左鏈接一共能查出多少條數據

10條數據,左連接就是把左邊的表當成主表,即不管右邊有多少數據,都會展示左邊的10條

哪位大俠可以提供一些mysql資料庫的題庫,一定要帶答案的!將感激不盡!!

一、不定項選擇題(共40題,每小題2.5分,總分100分)

1. 資料庫管理系統的發展歷經了如下那些模型階段( ACDE )

A. 層次模型 B. 結構模型 C. 關係模型

D. 網狀模型 E.對象模型

2. 關係型資料庫的核心單元是( B )

A. 對象 B. 表

C. 行 D. 列

3. 對於關係型資料庫來說,表之間存在下面那些關係( ABC )

A. 一對一關係 B. 一對多關係

C. 多對多關係 D. 繼承關係

4. 在SQL中,下面對於數據定義語言(DDL)描述正確的是( D )。

A. DDL關心的是資料庫中的數據 B. 完成數據的增、刪、改、查操作

C. 控制對資料庫的訪問 D. 定義資料庫的結構

5. MySQL是一種( C )資料庫管理系統。

A. 層次型 B. 網路型 C. 關係型 D. 對象型

6. SQL中,下列操作有語法錯誤的是( B )

A. AGE IS NOT NULL B. NOT(AGE IS NULL)

C. SNAME=『王五』 D. SNAME=『王%』

7. SQL中,下列關於創建、管理資料庫的操作語句不正確的是( CDE )

A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant

D. Connection Instant E. Delete DATEBASE Instant

8. 在MySQL中,不存在的數據類型是( F )。

A. INT B. TEXT C. DECIMAL

D. VARCHAR E. DATETIME F. VARCHAR2

9. 在MySQL中,下列關於創建資料庫表的描述正確的是( C )。

A. 在創建表時必須設定列的約束

B. 在刪除表的時候通過外鍵約束連接在一起的表會被一同刪除

C. 在創建表時必須設置列類型

D. 通過CREATE TABLE new_t SELECT * FROM old_t複製表的同時,表的約束能夠一起被複制到新表中

10. 根據數據完整性實施的方法,可以將其分為( ACDF )

A. 實體完整性 B. 表完整性 C.域完整性

D. 引用完整性 E. 記錄完整性 F.用戶自定義完整性

11. 下面關於域完整性的方法,不正確的是( A )。

A. 主鍵約束 B. 外鍵約束 C.檢查約束

D. 非空約束 E. 默認值

12. 下面關於創建和管理索引正確的描述是( C )。

A. 創建索引是為了便於全表掃描

B. 索引會加快DELETE、UPDATE和INSERT語句的執行速度

C. 索引被用於快速找到想要的記錄

D. 大量使用索引可以提高資料庫的整體性能

13. SQL中,「AGE IN(20,22)」的語義是( D )。

A. AGE=22 AND AGE =20 B. AGE 22 AND AGE 20

C. AGE =20 AND AGE =22 D. AGE =20 OR AGE =22

14. 有一個關係:學生(學號,姓名,系別),規定學號的值域是8個數字組成的字元串,這一規則屬於( C )

A. 實體完整性約束 B. 參照完整性約束

C. 用戶自定義完整性約束 D. 關鍵字完整性約束

15. 下面SQL是來源於考試成績表t_exam:學號stuId、科目編號subId、成績score,考試日期:ex_date。有以下sql,它表示的意思是:( B )

Select stu_id,subId,count(*) as x

From t_exam

Where ex_date=』2008-08-08』

Group stu_id,subId

Having count(*)1

Order by x desc

A. 找出』2008-08-08』這天某科考試2次及以上的學生記錄

B. 找出』2008-08-08』這天,某科考試2次及以上的學生記錄,考試次數多的放在前面

C. 找出』2008-08-08』這天,某科考試2次及以上的學生記錄,考試次數少的放在前面

D. 根據學號和學科分組,找出每個人考試科數,最後考試次數多的放在前面

16. EMP表如下所示,下面哪些SQL語句的返回值為3:( BD )

EMP

僱員號 僱員名 部門號 工資 

001  張山  02 2000

010  王宏達 01 1200

056  馬林生 02 1000

101  趙敏 04

A. select count(*) from emp

B. select count(distinct 部門號) from emp

C. select count(*) from emp group by 僱員號

D. select count(工資) from emp

17. 下面那一項不是SELECT語句對數據的操作:( D )

A. 投影 B. 聯接 C. 並 D. 級聯

18. 下面關於SQL數據查詢操作描述正確的有:( ABD )

A. 投影操作是選擇對表中的哪些列進行查詢操作

B. 使用DISTINCT關鍵字可以過濾查詢中重複的記錄

C. 在模糊查詢中,通配符「%」表示匹配單個字元,而「_」表示匹配零個或多個字元

D. 在MySQL中使用LIMIT關鍵字限制從資料庫中返回記錄的行數

19. 在SQL語言中,條件「BETWEEN 20 AND 30」表示年齡在20到30之間,且( A )。

A. 包括20歲和30歲 B. 不包括20歲和30歲

C. 包括20歲,不包括30歲 D. 不包括20歲,包括30歲

20. SQL語言中,刪除EMP表中全部數據的命令正確的是( C )。

A. delete * from emp B. drop table emp

C. truncate table emp D. 沒有正確答案

21. 有關索引的說法錯誤的是( AD )

A. 索引的目的是為增加數據操作的速度

B. 索引是資料庫內部使用的對象

C. 索引建立得太多,會降低數據增加刪除修改速度

D. 只能為一個欄位建立索引

22. 下列哪個關鍵字在Select語句中表示所有列( A )

A. * B. ALL C. DESC D. DISTINCT

23. 在表中設置外鍵實現的是哪一類數據完整性( B )

A. 實體完整性 B. 引用完整性

C. 用戶定義的完整性 D. 實體完整性、引用完整性和用戶定義的完整性

24. 下面正確表示Employees表中有多少非NULL的Region列的SQL語句是( B )

A. SELECT count(* ) from Employees

B. SELECT count(ALL Region) from Employees

C. SELECT count(Distinct Region) from Employees

D. SELECT sum(ALL Region) from Employees

25. 下面可以通過聚合函數的結果來過濾查詢結果集的SQL子句是( C )

A. WHERE子句 B. GROUP BY子句

C. HAVING 子句 D. ORDER BY子句

26. t_score(stu_id,sub_id,score),即成績表(學號,科目編號,成績)。學生如果某科沒有考試,則該科成績錄入null。能夠獲取各位學生的平均成績的選項是( A )

A. select avg(nvl(socre,0)) from score group by stu_id

B. select stu_id,avg(sorce) from score

C. select stu_id,avg(score) from score

D. select stu_id,sum(score)/count(score) from score

27. 若要求查找S表中,姓名的第一個字為’王’的學生學號和姓名。下面列出的SQL語句中,哪個是正確的( B )

A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′

B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′

C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′

D. 全部

28. 若要求「查詢選修了3門以上課程的學生的學生號」,正確的SQL語句是( B )

A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) 3

B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*) 3)

C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*) 3

D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)= 3

29. 對下面的查詢語句描述正確的是( D )

Select StudentID,Name,

(select count(*) from StudentExam

where StudentExam.StudentID = Student.StudentID) as ExamsTaken

from Student

order by ExamsTaken desc

A. 從Student表中查找StudentID和Name,並按照升序排列

B. 從Student表中查找StudentID和Name,並按照降序排列

C. 從Student表中查找StudentID、Name和考試次數

D. 從Student表中查找StudentID、Name,並從StudentExam表中查找與StudentID一致的學生考試次數,並按照降序排列

30. 下面題基於學生-課程資料庫中的三個基本表:

學生信息表:s(sno, sname, sex, age, dept) 主鍵為sno

課程信息表:c(cno, cname, teacher) 主鍵為cno

學生選課信息表:sc(sno, cno, grade) 主鍵為(sno, cno)

「從學生選課信息表中找出無成績的學生信息」的SQL語句是( C d )

A.

SELECT * FROM sc WHERE grade=NULL

B.

SELECT * FROM sc WHERE grade IS 『 』

C.

SELECT * FROM sc WHERE grade IS NULL

D.

SELECT * FROM sc WHERE grade =『 』

31. 當子查詢返回多行時,可以採用的解決辦法是( C )。

A. 使用聚合函數 B. Where條件判斷

C. 使用IN運算符 D. 使用Group by進行分組

32. 下面關於在子查詢中使用運算符描述不正確的是( D )。

A. 使用IN運算符用於查找欄位值屬於某一組值的行

B. 使用Exists運算符用於測試子查詢是否返回行,如果返回其值就為真

C. 使用ALL運算符用於測試子查詢結果集的所有行是否滿足指定的條件

D. 使用Any運算符用於測試子查詢結果集中的一行或多行不滿足指定的條件

33. 下面關於組合查詢描述不正確的是( D )。

A. 從一個表中獲取的數據必須和其它表中的數據具有相同的列數

B. 兩個表中相對應的列必須具有相同的數據類型

C. UNION的結果集列名與第一個SELECT語句的結果集中的列名相同

D. UNION的結果集列名與第二個SELECT語句的結果集中的列名相同

E. UNION ALL運算符返回每個數據集的所有成員

34. 下面關於聯接的描述正確的是( A )。

A. 內聯接使用比較運算符根據每個表共有的列值來匹配兩個表中的行

B. 左外聯接結果集包含從右邊的表返回的所有行

C. 右外聯接結果集包含從左邊的表返回的所有行

D. 全外聯接返回左表和右表中的所有匹配的行

35. 下面關於資料庫設計過程正確的順序描述是( C )。

A. 需求收集和分析、邏輯設計、物理設計、概念設計

B. 概念設計、需求收集和分析、邏輯設計、物理設計

C. 需求收集和分析、概念設計、邏輯設計、物理設計

D. 需求收集和分析、概念設計、物理設計、邏輯設計

36. ER圖屬於下面哪一種資料庫設計模型( B )。

A. 物理數據模型

B. 概念數據模型

C. 邏輯數據模型

D. 需求模型

37. 非主鍵必須完全依賴於主鍵列,這屬於下列範式的內容( BC )

A. 1NF B. 2NF C. 3NF D. 都沒有的

38. 如果一個欄位的數據必須來源另一個表的主鍵,那麼要在這個欄位上建立( B )。

A. PK(主鍵) B. FK(外鍵) C. UK(唯一鍵) D. 複合主鍵

39. 根據三個範式的定義,下面哪個選項的設計是正確的( C )

職工編號 姓名 工種 車間 車間主任

1001 李寧 車工 一車間 周傑

1002 王海 銑工 一車間 周傑

1003 趙亮 鉗工 二車間 吳明

1001 李寧 鉗工 二車間 吳明

A. 員工表、工種表、車間表

B. 員工表、工種表、車間表、車間主任表

C. 員工表、工種表、車間表、員工工種表、員工車間表

D. 以上設計均不正確

40. 下列說法中,哪些是正確的( BD )

A. RDBMS是資料庫管理系統的簡稱

B. 各行記錄都不能重複,是第二範式要求的

C. 在資料庫設計中一定要滿足第三範式

D. 索引越多,查詢越快,數據更新越慢

各位大神 幫幫忙 求解答 mysql 數據操作考試題

5. 查詢出每個僱員的僱員編號,實發工資,應發工資。

Select 僱員編號,基本工資+ 職務工資 as 實發工資,基本工資+ 職務工資 – 扣除 as 應發工資 from 工資表;

6. 查詢姓「張」且年齡小於40的員工的記錄。

select * from 僱員表 where 姓名 like 『張%』 and 出生日期’1972-09-11′

7. 查詢所有僱員的姓名、性別、職稱、部門名稱。

累了不想謝了 自己找貓畫吧

8. 查詢「生產部」的所有員工信息。

「春招系列」MySQL面試核心25問(附答案)

篇幅所限本文只寫了MySQL25題,像其他的Redis,SSM框架,演算法,計網等技術棧的面試題後面會持續更新,個人整理的1000餘道面試八股文會放在文末給大家白嫖,最近有面試需要刷題的同學可以直接翻到文末領取。

如果表使用自增主鍵,那麼每次插入新的記錄,記錄就會順序添加到當前索引節點的後續位置,當一頁寫滿,就會自動開闢一個新的頁。如果使用非自增主鍵(如果身份證號或學號等),由於每次插入主鍵的值近似於隨機,因此每次新紀錄都要被插到現有索引頁得中間某個位置, 頻繁的移動、分頁操作造成了大量的碎片,得到了不夠緊湊的索引結構,後續不得不通過OPTIMIZE TABLE(optimize table)來重建表並優化填充頁面。

Server層按順序執行sql的步驟為:

簡單概括:

可以分為服務層和存儲引擎層兩部分,其中:

服務層包括連接器、查詢緩存、分析器、優化器、執行器等 ,涵蓋MySQL的大多數核心服務功能,以及所有的內置函數(如日期、時間、數學和加密函數等),所有跨存儲引擎的功能都在這一層實現,比如存儲過程、觸發器、視圖等。

存儲引擎層負責數據的存儲和提取 。其架構模式是插件式的,支持InnoDB、MyISAM、Memory等多個存儲引擎。現在最常用的存儲引擎是InnoDB,它從MySQL 5.5.5版本開始成為了默認的存儲引擎。

Drop、Delete、Truncate都表示刪除,但是三者有一些差別:

Delete 用來刪除表的全部或者一部分數據行,執行Delete之後,用戶需要提交(commmit)或者回滾(rollback)來執行刪除或者撤銷刪除,會觸發這個表上所有的delete觸發器。

Truncate 刪除表中的所有數據,這個操作不能回滾,也不會觸發這個表上的觸發器,TRUNCATE比Delete更快,佔用的空間更小。

Drop 命令從資料庫中刪除表,所有的數據行,索引和許可權也會被刪除,所有的DML觸發器也不會被觸發,這個命令也不能回滾。

因此,在不再需要一張表的時候,用Drop;在想刪除部分數據行時候,用Delete;在保留表而刪除所有數據的時候用Truncate。

隔離級別臟讀不可重複讀幻影讀 READ-UNCOMMITTED 未提交讀 READ-COMMITTED 提交讀 REPEATABLE-READ 重複讀 SERIALIZABLE 可串列化讀

MySQL InnoDB 存儲引擎的默認支持的隔離級別是 REPEATABLE-READ (可重讀)

這裡需要注意的是 :與 SQL 標準不同的地方在於InnoDB 存儲引擎在 REPEATABLE-READ(可重讀)事務隔離級別 下使用的是 Next-Key Lock 鎖 演算法,因此可以避免幻讀的產生,這與其他資料庫系統(如 SQL Server)是不同的。所以 說InnoDB 存儲引擎的默認支持的隔離級別是 REPEATABLE-READ(可重讀) 已經可以完全保證事務的隔離性要 求,即達到了 SQL標準的SERIALIZABLE(可串列化)隔離級別。

因為隔離級別越低,事務請求的鎖越少,所以大部分資料庫系統的隔離級別都是READ-COMMITTED(讀取提交內 容):,但是你要知道的是InnoDB 存儲引擎默認使用 REPEATABLE-READ(可重讀)並不會有任何性能損失 。

InnoDB 存儲引擎在分散式事務 的情況下一般會用到SERIALIZABLE(可串列化)隔離級別。

主要原因:B+樹只要遍歷葉子節點就可以實現整棵樹的遍歷,而且在資料庫中基於範圍的查詢是非常頻繁的,而B樹只能中序遍歷所有節點,效率太低。

文件與資料庫都是需要較大的存儲,也就是說,它們都不可能全部存儲在內存中,故需要存儲到磁碟上。而所謂索引,則為了數據的快速定位與查找,那麼索引的結構組織要盡量減少查找過程中磁碟I/O的存取次數,因此B+樹相比B樹更為合適。資料庫系統巧妙利用了局部性原理與磁碟預讀原理,將一個節點的大小設為等於一個頁,這樣每個節點只需要一次I/O就可以完全載入,而紅黑樹這種結構,高度明顯要深的多,並且由於邏輯上很近的節點(父子)物理上可能很遠,無法利用局部性。

最重要的是,B+樹還有一個最大的好處:方便掃庫。

B樹必須用中序遍歷的方法按序掃庫,而B+樹直接從葉子結點挨個掃一遍就完了,B+樹支持range-query非常方便,而B樹不支持,這是資料庫選用B+樹的最主要原因。

B+樹查找效率更加穩定,B樹有可能在中間節點找到數據,穩定性不夠。

B+tree的磁碟讀寫代價更低:B+tree的內部結點並沒有指向關鍵字具體信息的指針(紅色部分),因此其內部結點相對B 樹更小。如果把所有同一內部結點的關鍵字存放在同一塊盤中,那麼盤塊所能容納的關鍵字數量也越多。一次性讀入內存中的需要查找的關鍵字也就越多,相對來說IO讀寫次數也就降低了;

B+tree的查詢效率更加穩定:由於內部結點並不是最終指向文件內容的結點,而只是葉子結點中關鍵字的索引,所以,任何關鍵字的查找必須走一條從根結點到葉子結點的路。所有關鍵字查詢的路徑長度相同,導致每一個數據的查詢效率相當;

視圖是一種虛擬的表,通常是有一個表或者多個表的行或列的子集,具有和物理表相同的功能 游標是對查詢出來的結果集作為一個單元來有效的處理。一般不使用游標,但是需要逐條處理數據的時候,游標顯得十分重要。

而在 MySQL 中,恢復機制是通過回滾日誌(undo log)實現的,所有事務進行的修改都會先記錄到這個回滾日誌中,然後在對資料庫中的對應行進行寫入。當事務已經被提交之後,就無法再次回滾了。

回滾日誌作用:1)能夠在發生錯誤或者用戶執行 ROLLBACK 時提供回滾相關的信息 2) 在整個系統發生崩潰、資料庫進程直接被殺死後,當用戶再次啟動資料庫進程時,還能夠立刻通過查詢回滾日誌將之前未完成的事務進行回滾,這也就需要回滾日誌必須先於數據持久化到磁碟上,是我們需要先寫日誌後寫資料庫的主要原因。

InnoDB

MyISAM

總結

資料庫並發會帶來臟讀、幻讀、丟棄更改、不可重複讀這四個常見問題,其中:

臟讀 :在第一個修改事務和讀取事務進行的時候,讀取事務讀到的數據為100,這是修改之後的數據,但是之後該事務滿足一致性等特性而做了回滾操作,那麼讀取事務得到的結果就是臟數據了。

幻讀 :一般是T1在某個範圍內進行修改操作(增加或者刪除),而T2讀取該範圍導致讀到的數據是修改之間的了,強調範圍。

丟棄修改 :兩個寫事務T1 T2同時對A=0進行遞增操作,結果T2覆蓋T1,導致最終結果是1 而不是2,事務被覆蓋

不可重複讀 :T2 讀取一個數據,然後T1 對該數據做了修改。如果 T2 再次讀取這個數據,此時讀取的結果和第一次讀取的結果不同。

第一個事務首先讀取var變數為50,接著準備更新為100的時,並未提交,第二個事務已經讀取var為100,此時第一個事務做了回滾。最終第二個事務讀取的var和資料庫的var不一樣。

T1 讀取某個範圍的數據,T2 在這個範圍內插入新的數據,T1 再次讀取這個範圍的數據,此時讀取的結果和和第一次讀取的結果不同。

T1 和 T2 兩個事務都對一個數據進行修改,T1 先修改,T2 隨後修改,T2 的修改覆蓋了 T1 的修改。例如:事務1讀取某表中的數據A=50,事務2也讀取A=50,事務1修改A=A+50,事務2也修改A=A+50,最終結果A=100,事務1的修改被丟失。

T2 讀取一個數據,T1 對該數據做了修改。如果 T2 再次讀取這個數據,此時讀取的結果和第一次讀取的結果不同。

悲觀鎖,先獲取鎖,再進行業務操作,一般就是利用類似 SELECT … FOR UPDATE 這樣的語句,對數據加鎖,避免其他事務意外修改數據。當資料庫執行SELECT … FOR UPDATE時會獲取被select中的數據行的行鎖,select for update獲取的行鎖會在當前事務結束時自動釋放,因此必須在事務中使用。

樂觀鎖,先進行業務操作,只在最後實際更新數據時進行檢查數據是否被更新過。Java 並發包中的 AtomicFieldUpdater 類似,也是利用 CAS 機制,並不會對數據加鎖,而是通過對比數據的時間戳或者版本號,來實現樂觀鎖需要的版本判斷。

分庫與分表的目的在於,減小資料庫的單庫單表負擔,提高查詢性能,縮短查詢時間。

通過分表 ,可以減少資料庫的單表負擔,將壓力分散到不同的表上,同時因為不同的表上的數據量少了,起到提高查詢性能,縮短查詢時間的作用,此外,可以很大的緩解表鎖的問題。分表策略可以歸納為垂直拆分和水平拆分:

水平分表 :取模分表就屬於隨機分表,而時間維度分表則屬於連續分表。如何設計好垂直拆分,我的建議:將不常用的欄位單獨拆分到另外一張擴展表. 將大文本的欄位單獨拆分到另外一張擴展表, 將不經常修改的欄位放在同一張表中,將經常改變的欄位放在另一張表中。對於海量用戶場景,可以考慮取模分表,數據相對比較均勻,不容易出現熱點和並發訪問的瓶頸。

庫內分表 ,僅僅是解決了單表數據過大的問題,但並沒有把單表的數據分散到不同的物理機上,因此並不能減輕 MySQL 伺服器的壓力,仍然存在同一個物理機上的資源競爭和瓶頸,包括 CPU、內存、磁碟 IO、網路帶寬等。

分庫與分錶帶來的分散式困境與應對之策 數據遷移與擴容問題—-一般做法是通過程序先讀出數據,然後按照指定的分表策略再將數據寫入到各個分表中。分頁與排序問題—-需要在不同的分表中將數據進行排序並返回,並將不同分表返回的結果集進行匯總和再次排序,最後再返回給用戶。

不可重複讀的重點是修改,幻讀的重點在於新增或者刪除。

視圖是虛擬的表,與包含數據的表不一樣,視圖只包含使用時動態檢索數據的查詢;不包含任何列或數據。使用視圖可以簡化複雜的 sql 操作,隱藏具體的細節,保護數據;視圖創建後,可以使用與表相同的方式利用它們。

視圖不能被索引,也不能有關聯的觸發器或默認值,如果視圖本身內有order by 則對視圖再次order by將被覆蓋。

創建視圖:create view xxx as xxxx

對於某些視圖比如未使用聯結子查詢分組聚集函數Distinct Union等,是可以對其更新的,對視圖的更新將對基表進行更新;但是視圖主要用於簡化檢索,保護數據,並不用於更新,而且大部分視圖都不可以更新。

B+tree的磁碟讀寫代價更低,B+tree的查詢效率更加穩定 資料庫索引採用B+樹而不是B樹的主要原因:B+樹只要遍歷葉子節點就可以實現整棵樹的遍歷,而且在資料庫中基於範圍的查詢是非常頻繁的,而B樹只能中序遍歷所有節點,效率太低。

B+樹的特點

在最頻繁使用的、用以縮小查詢範圍的欄位,需要排序的欄位上建立索引。不宜:1)對於查詢中很少涉及的列或者重複值比較多的列 2)對於一些特殊的數據類型,不宜建立索引,比如文本欄位(text)等。

如果一個索引包含(或者說覆蓋)所有需要查詢的欄位的值,我們就稱 之為「覆蓋索引」。

我們知道在InnoDB存儲引 擎中,如果不是主鍵索引,葉子節點存儲的是主鍵+列值。最終還是要「回表」,也就是要通過主鍵再查找一次,這樣就 會比較慢。覆蓋索引就是把要查詢出的列和索引是對應的,不做回表操作!

舉例 :

學號姓名性別年齡系別專業 20020612李輝男20計算機軟體開發 20060613張明男18計算機軟體開發 20060614王小玉女19物理力學 20060615李淑華女17生物動物學 20060616趙靜男21化學食品化學 20060617趙靜女20生物植物學

主鍵為候選鍵的子集,候選鍵為超鍵的子集,而外鍵的確定是相對於主鍵的。

mysql資料庫面試題(學生表_課程表_成績表_教師表)

Student(Sid,Sname,Sage,Ssex)學生表

Sid:學號

Sname:學生姓名

Sage:學生年齡

Ssex:學生性別

Course(Cid,Cname,Tid)課程表

Cid:課程編號

Cname:課程名稱

Tid:教師編號

SC(Sid,Cid,score)成績表

Sid:學號

Cid:課程編號

score:成績

Teacher(Tid,Tname)教師表

Tid:教師編號:

Tname:教師名字

1、插入數據

2、刪除課程表所有數據

3、將學生表中的姓名 張三修改為張大山

或者

4、查詢姓』李』的老師的個數:

5、查詢所有課程成績小於60的同學的學號、姓名:

6、查詢沒有學全所有課的同學的學號、姓名

7、查詢平均成績大於60分的同學的學號和平均成績

8、查詢學過「100」並且也學過編號「101」課程的同學的學號、姓名

9、查詢「100」課程比「101」課程成績高的所有學生的學號

10、查詢課程編號「100」的成績比課程編號「101」課程高的所有同學的學號、姓名

11、查詢學過「魯迅」老師所教的所有課的同學的學號、姓名

12、查詢所有同學的學號、姓名、選課數、總成績

13、查詢至少有一門課與學號為「1」同學所學相同的同學的學號和姓名

14、把「SC」表中「魯迅」老師教的課的成績都更改為此課程的平均成績,

錯誤

15、查詢和「2」學號的同學學習的課程完全相同的其他同學學號和姓名

16、刪除學習「魯迅」老師課的SC表記錄

17、向SC表中插入一些記錄,這些記錄要求符合以下條件:沒有上過編號「003」課程的同學學號、002號課的平均成績

18、查詢各科成績最高和最低的分:以如下的形式顯示:課程ID,最高分,最低分

19、按各科平均成績從低到高和及格率的百分數從高到低順序

20、查詢如下課程平均成績和及格率的百分數(用」1行」顯示): 數學(100),語文(101),英語(102)

22、查詢不同老師所教不同課程平均分從高到低顯示

23、查詢如下課程成績第3名到第6名的學生成績單:數學(100),語文(101),英語(102)

23、統計下列各科成績,各分數段人數:課程ID,課程名稱,[100-85],[85-70],[70-60],[ 小於60]

24、查詢學生平均成績及其名次

25、查詢各科成績前三名的記錄(不考慮成績並列情況)

26、查詢每門課程被選修的學生數

27、查詢出只選修一門課程的全部學生的學號和姓名

28、查詢男生、女生人數

29、查詢姓「張」的學生名單

30、查詢同名同姓的學生名單,並統計同名人數

31、1981年出生的學生名單(註:student表中sage列的類型是datetime)

32、查詢平均成績大於85的所有學生的學號、姓名和平均成績

33、查詢每門課程的平均成績,結果按平均成績升序排序,平均成績相同時,按課程號降序排列

34、查詢課程名稱為「英語」,且分數低於60的學生名字和分數

35、查詢所有學生的選課情況

36、查詢任何一門課程成績在70分以上的姓名、課程名稱和分數

37、查詢不及格的課程,並按課程號從大到小的排列

38、查詢課程編號為「101」且課程成績在80分以上的學生的學號和姓名

39、求選了課程的學生人數:

40、查詢選修「魯迅」老師所授課程的學生中,成績最高的學生姓名及其成績

41、檢索至少選修兩門課程的學生學號

42、查詢全部學生都選修的課程的課程號和課程名(1.一個課程被全部的學生選修,2.所有的學生選擇的所有課程)

43、查詢沒學過「魯迅」老師講授的任一門課程的學生姓名

44、查詢兩門以上不及格課程的同學的學號及其平均成績

45、檢索「101」課程分數小於60,按分數降序排列的同學學號

46、刪除「2」同學的「101」課程的成績

原創文章,作者:NPLA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/134504.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NPLA的頭像NPLA
上一篇 2024-10-04 00:06
下一篇 2024-10-04 00:06

相關推薦

  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • 學堂雲Python語言程序設計答案

    學堂雲Python語言程序設計是一門重要的計算機專業課程。它涵蓋了Python語言及其應用,包括基礎語法、函數、文件處理、數據結構、圖形界面和網路編程等內容。在學習中,我們經常會需…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • 南京郵電大學Python慕課答案

    本文將詳細闡述南京郵電大學Python慕課答案,為大家提供學習Python課程的參考。 一、應用範圍 Python是一種高級通用編程語言,應用範圍廣泛,包括Web開發、數據分析與科…

    編程 2025-04-28
  • 大學化學科學出版社教材答案

    本文將從以下幾個方面對大學化學科學出版社教材答案進行詳細闡述,幫助您更好地應對學習中的問題: 一、獲取教材答案的渠道 學習過程中,有時候會遇到難以解答的問題,這時候就需要查看教材答…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • Python初探答案第七關——解題指南

    Python初探答案第七關是一道典型的Python編程題目,涉及字元串的判斷和操作。下面我們將從多個方面詳細闡述這道題目的解題方法。 一、題目分析 首先,我們需要仔細研究題目要求以…

    編程 2025-04-28

發表回復

登錄後才能評論