記錄一下無聊的資料庫作業

来源:https://www.cnblogs.com/maoqifansBlog/archive/2020/04/08/12660491.html
-Advertisement-
Play Games

題目如下: 1.查詢sC表中的全部數據。2. 查詢電腦系學生的姓名和年齡3.查詢成績在70~80分的學生的學號、課程號和成績4.查詢電腦系年齡在18~20歲的男生姓名和年齡s.查詢C001課程的最高分6.查詢電腦系學生的最大年齡和最小年齡7.統計每個系的學生人數8.統計每]課程的選課人數和最高 ...


題目如下:

1.查詢sC表中的全部數據。
2. 查詢電腦系學生的姓名和年齡
3.查詢成績在70~80分的學生的學號、課程號和成績
4.查詢電腦系年齡在18~20歲的男生姓名和年齡
s.查詢C001課程的最高分
6.查詢電腦系學生的最大年齡和最小年齡
7.統計每個系的學生人數
8.統計每]課程的選課人數和最高成績。
9.統計每個學生的選課門數和考試總成績,並按選課]數升序顯示結果。
10.列出總成績超過200的學生的學號和總成績
11.查詢選了C002課程的學生姓名和所在系
12.查詢考試成績80分以上的學生姓名、課程號和成績,並按成績降序排列結果
13.查詢與VB在同一學期開設的課程的課程名和開課學期
14.查詢與李勇年齡相同的學生的姓名、所在系和年齡
15.查詢哪些課程沒有學生選修,列出課程號和課程名
16.查詢每個學生的選課情況,包括未選課的學生,列出學生的學號、姓名、選的課程號
17.查詢電腦系哪些學生沒有選課,列出學生姓名
18.查詢電腦系年齡最大的三個學生的姓名和年齡
19.列出“VB"課程考試成績前三名的學生的學號、姓名、所在系和VB成績
20.查詢選課門]數最多的前2位學生,列出學號和選課門數

代碼如下:

-- 1
SELECT *
FROM SC;
-- 2
SELECT s.Sname, s.Sage
FROM Student s
WHERE s.Sdept = N'電腦系';
-- 3
SELECT sc.Sno, sc.Cno, sc.Grade
FROM SC sc
WHERE sc.Grade BETWEEN 70 and 80;
-- 4
SELECT s.Sname, s.Sage
FROM Student s
WHERE s.Sdept = N'電腦系'
  AND s.Sage in (18, 20)
  AND s.Ssex = N'';
-- 5
SELECT MAX(sc.Grade) AS max_grade
FROM SC sc
GROUP BY sc.Cno
HAVING sc.Cno = 'C001';
-- 6
SELECT MAX(s.Sage) AS max_age, MIN(s.Sage) AS min_age
FROM Student s
GROUP BY s.Sdept
having s.Sdept = '電腦系';
-- 7
SELECT CONCAT(s.Sdept, ' : ', COUNT(s.Sno)) AS stu_nums
FROM Student s
GROUP BY s.Sdept;
-- 8
SELECT sc.Cno AS Cno, COUNT(sc.Sno) as c_nums, MAX(sc.Grade) as max_grade
FROM SC sc
GROUP BY sc.Cno;
-- 9
SELECT COUNT(sc.Cno) as c_nums, SUM(sc.Grade) as sum_grades
FROM SC sc
GROUP BY sc.Sno
ORDER BY c_nums;
-- 10
SELECT sc.Sno, SUM(sc.Grade) AS sum_grades
FROM SC sc
GROUP BY sc.Sno
Having SUM(sc.Grade) > 200;
-- 11
SELECT s.sname, s.Sdept
FROM SC sc
         inner join Student s
                    on sc.Cno = 'C002';
-- 12
SELECT s.Sname, sc.Cno, sc.Grade
FROM SC sc
         INNER JOIN Student s on sc.Sno = s.Sno
GROUP BY s.Sname, sc.Cno, sc.Grade
HAVING sc.Grade > 80
ORDER BY sc.Grade DESC;
-- 13
SELECT c.Cno, c.Semester
FROM Course c
WHERE c.Semester = (SELECT Semester FROM Course WHERE Cname = 'VB')
  AND c.Cname <> 'VB';
-- 14
SELECT s.Sname, s.Sdept, s.Sage
FROM Student s
WHERE s.Sage = (SELECT Sage FROM Student WHERE Sname = N'李勇')
  AND s.Sname <> N'李勇';
-- 15
SELECT c.Cno, c.Cname
FROM Course c
WHERE c.Cno not in (SELECT sc.Cno FROM SC sc);
--16
SELECT s.Sno,
       s.Sname,
       cno=STUFF((
                     SELECT ',' + TRIM(c.Cno)
                     FROM Course c,
                          SC sc1
                     WHERE s.Sno = sc1.Sno
                       AND sc1.Cno = c.Cno
                     FOR XML PATH ('')), 1, 1, '')
FROM SC sc
         RIGHT JOIN Student S on sc.Sno = S.Sno
GROUP BY s.Sno, s.Sname;
-- 17
SELECT s.Sname
FROM Student s
WHERE s.Sno not in (SELECT sc.Sno FROM SC sc);
-- 18
SELECT
TOP 3
s.sname
,
s.Sage
FROM Student s
WHERE s.Sdept = N'電腦系'
ORDER BY s.Sage;
-- 19
SELECT
TOP 3
s.sno
,
s.sname
,
s.Sdept
,
sc.Grade
FROM Course c
         INNER JOIN SC sc ON c.Cno = sc.Cno
         INNER JOIN Student s on sc.Sno = s.Sno
WHERE c.Cname = 'VB';
--20
SELECT
TOP 2
sc.Sno
,
COUNT(sc.Cno) AS course_nums
FROM SC sc
GROUP BY sc.Sno;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本次實驗環境:cn_windows_server_2019_x64_dvd_4de40f33cn_sharepoint_server_2019cn_sql_server_2016_enterprise_x64_dvd_8699450前期需安裝AD服務,可以參考之前的博文。第一步:安裝資料庫服務第二步... ...
  • 前言 本實驗是在centos8下搭建,搭建方式為yum(dnf)搭建,畢竟源碼搭建難度大,還要解決各種依賴關係,在搭建體驗與步驟上,與7代差別其實不大,也可能是我太菜了體會不到,最直觀的可能是版本問題,php預設版本由以前的5.x升級到了7.x,apache版本升級到了2.4,性能和效率上都有所提高 ...
  • 一 實踐規劃 1.1 實踐需求 本實驗通過資源配額和資源配置範圍的配合來控制一個命名空間的資源使用。 集群管理員根據集群用戶的數量來調整集群配置,以達到這個目的:能控制特定命名空間中的資源使用量,最終實現集群的公平使用和成本控制。 需要實現的功能如下: 限制運行狀態的Pod的計算資源用量。 限制持久 ...
  • 系統版本CentOS6.10_x64 開啟防火牆命令:service iptables start 關閉防火牆命令:service iptables stop 重啟防火牆命令:service iptables restart 查看防火牆狀態:service iptables status linux ...
  • 前言: 2020年3月7日晚7點,大佬張祥在微信群向大家詳細介紹了58同城HBase平臺及其生態的建設實踐與相關經驗,確實講得很好。今天花了點時間幫大家整理了一下,希望更多的沒有參與直播的朋友能夠看到它,也歡迎大家積極轉發一下,視頻與PPT 相關資料附於文末 。 亮點在哪 該分享的亮點在哪兒里呢?這 ...
  • 用單表接近一千萬數據(四列:int,兩個varchar,日期時間)測,發現幾個效率幾乎一致 count(0)=count(1)=count(數字)=count(*)>count(primary key)>count(column) 根據相關解釋: 1. count(指定的有效值)--執行計劃都會轉化 ...
  • 在高性能mysql第三版里,說到hash索引以下優缺點: 用MySQL(5.7.)測的時候發現可以範圍查詢。 ...
  • 我所做的商城項目前些時提了新需求,要求前臺搜索商品除了能通過商品名稱搜索到以外,還可以通過別個信息搜索,比如:商品編號、詳情內容描述等等,類似於全文搜索了。我首先想到的就是lucene,但是對代碼這樣的改動量就太大了。。。。目前線上版本如果做這種改動怕測試又出什麼么蛾子,如果又重新建表將這些信息另外 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...