SQL練習2.3

建表

# 學生表
create table t_student
(stu_id   varchar(10),stu_name varchar(10),stu_age  datetime,stu_sex  varchar(10)
);# 課程表
create table t_t_course
(c_id    varchar(10),c_name  varchar(10),c_teaid varchar(10)
);# 教師表
create table t_t_teacher
(tea_id   varchar(10),tea_name varchar(10)
);# 成績表
create table t_t_score
(s_stuid varchar(10),s_cid   varchar(10),s_score decimal(18, 1)
);-- 向t_student表插入數據
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('01', '趙雷', '1990-01-01', '男');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('02', '錢電', '1990-12-21', '男');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('03', '孫風', '1990-12-20', '男');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('04', '李云', '1990-12-06', '男');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('05', '周梅', '1991-12-01', '女');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('06', '吳蘭', '1992-01-01', '女');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('07', '鄭竹', '1989-01-01', '女');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('09', '張三', '2017-12-20', '女');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('10', '李四', '2017-12-25', '女');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('11', '李四', '2012-06-06', '女');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('12', '趙六', '2013-06-13', '女');
insert into t_student(stu_id, stu_name, stu_age, stu_sex)
values ('13', '孫七', '2014-06-01', '女');-- 向t_t_course表插入數據
insert into t_t_course(c_id, c_name, c_teaid)
values ('01', '語文', '02');
insert into t_course(c_id, c_name, c_teaid)
values ('02', '數學', '01');
insert into t_course(c_id, c_name, c_teaid)
values ('03', '英語', '03');-- 向t_t_teacher表插入數據
insert into t_teacher(tea_id, tea_name)
values ('01', '張三');
insert into t_teacher(tea_id, tea_name)
values ('02', '李四');
insert into t_teacher(tea_id, tea_name)
values ('03', '王五');-- 向t_t_score表插入數據
insert into t_score(s_stuid, s_cid, s_score)
values ('01', '01', 80);
insert into t_score(s_stuid, s_cid, s_score)
values ('01', '02', 90);
insert into t_score(s_stuid, s_cid, s_score)
values ('01', '03', 99);
insert into t_score(s_stuid, s_cid, s_score)
values ('02', '01', 70);
insert into t_score(s_stuid, s_cid, s_score)
values ('02', '02', 60);
insert into t_score(s_stuid, s_cid, s_score)
values ('02', '03', 80);
insert into t_score(s_stuid, s_cid, s_score)
values ('03', '01', 80);
insert into t_score(s_stuid, s_cid, s_score)
values ('03', '02', 80);
insert into t_score(s_stuid, s_cid, s_score)
values ('03', '03', 80);
insert into t_score(s_stuid, s_cid, s_score)
values ('04', '01', 50);
insert into t_score(s_stuid, s_cid, s_score)
values ('04', '02', 30);
insert into t_score(s_stuid, s_cid, s_score)
values ('04', '03', 20);
insert into t_score(s_stuid, s_cid, s_score)
values ('05', '01', 76);
insert into t_score(s_stuid, s_cid, s_score)
values ('05', '02', 87);
insert into t_score(s_stuid, s_cid, s_score)
values ('06', '01', 31);
insert into t_score(s_stuid, s_cid, s_score)
values ('06', '03', 34);
insert into t_score(s_stuid, s_cid, s_score)
values ('07', '02', 89);
insert into t_score(s_stuid, s_cid, s_score)
values ('07', '03', 98);
練習
#17.查詢學過編號為"02"但沒有學過編號為"01"課程的學生信息和相關課程成績
select *
from t_student sinner join t_score sc on s.stu_id = sc.s_stuid
where s.stu_id in (select sc1.s_stuid from t_score sc1 where sc1.s_cid = 02)and s.stu_id not in (select sc2.s_stuid from t_score sc2 where sc2.s_cid = 01);#18. 查詢同時選修了"01"課程和"02"課程的學生信息及相關課程成績
select *
from t_student s
where s.stu_id in (select sc1.s_stuid from t_score sc1 where sc1.s_cid = 02)and s.stu_id in (select sc2.s_stuid from t_score sc2 where sc2.s_cid = 01);#19. 查詢選修了"01"課程但可能沒有選修"02"課程的學生信息及相關課程成績(不存在時顯示為0)
select *
from t_student sinner join t_score sc on s.stu_id = sc.s_stuid
where s.stu_id not in (select sc1.s_stuid from t_score sc1 where sc1.s_cid = 02)and s.stu_id in (select sc2.s_stuid from t_score sc2 where sc2.s_cid = 01);#20. 查詢平均成績大于等于 60 分的同學的學生編號和學生姓名和平均成績(成績保留2位小數)
select round(avg(sc.s_score), 2), s.stu_name, s.stu_id
from t_student sinner join t_score sc on s.stu_id = sc.s_stuid
group by s.stu_name, s.stu_id
having avg(sc.s_score >= 60);#21. 查詢所有同學的學生編號、學生姓名、選課總數、所有課程的成績總和** (沒有選課的學生顯示為0)
select s.stu_id, s.stu_name, COUNT(sc.s_score), sum(sc.s_score)
from t_student sinner join t_score sc on s.stu_id = sc.s_stuid
group by s.stu_id, s.stu_name;#22. 查詢學過「張三」老師授課的同學的信息
select distinct s.*
from t_student sinner join t_score sc on s.stu_id = s.stu_idinner join t_course co on sc.s_cid = co.c_idinner join t_teacher t on co.c_teaid = t.tea_id
where t.tea_name = '張三' order by s.stu_id;#23. 查詢沒有學全所有課程的同學的信息
select s.stu_id,s.stu_name,count(sc.s_score) from t_student s inner join t_score sc on s.stu_id = sc.s_stuid inner join t_course co on sc.s_cid = co.c_id group by s.stu_id,stu_name having count(sc.s_score) != 3;#24. 查詢至少有一門課與學號為"01"的同學所學相同的同學的信息(不含學號為"01"的學生)
select distinct s.* from t_student s inner join t_score sc on s.stu_id = sc.s_stuid where sc.s_cid in (select sc1.s_cid from t_score sc1 where sc1.s_stuid = 01);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14376.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14376.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14376.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx 動靜分離、gzip壓縮、負載均衡、root/alias

在Nginx中,動靜分離、gzip壓縮、負載均衡以及root和alias指令是常見的配置和優化點。下面我將分別解釋這些概念和如何配置它們。 動靜分離 動靜分離是指將動態請求和靜態請求分開處理,由不同的服務器或Nginx的不同位置來處理。這樣可以提高網站的性能和…

SpringBoot 啟動報錯,EnableConfigurationProperties 注解跳坑記

使用SpringBoot 腳手架搭建的一個簡單的 web demo ,開啟了屬性自動注入,配置文件如下: Setter Getter Configuration ConfigurationProperties(prefix "com.ff") EnableConfigurationProperties(FFProperties.class) public clas…

今日刷三題(day14):ISBN號碼+kotori和迷宮+矩陣最長遞增路徑

題目一:ISBN號碼 題目描述: 每一本正式出版的圖書都有一個ISBN號碼與之對應,ISBN碼包括9位數字、1位識別碼和3位分隔符,其規定格式如“x-xxx-xxxxx-x”,其中符號“-”是分隔符(鍵盤上的減號)&…

STM32使用旋轉編碼開關

一、旋轉編碼開關如何工作 編碼器內部有一個開槽圓盤,連接到公共接地引腳 C。它還具有兩個接觸針 A 和 B,如下所示。 當您轉動旋鈕時,A 和 B 按照特定順序與公共接地引腳 C 接觸,具體順序取決于轉動旋鈕的方向。 當它們與公共地接…

在 package.json 文件中,版本號前的 ^ 符號含義

在 package.json 文件中,版本號前的 ^ 符號有特定的含義,它控制了包依賴的版本范圍。 具體來說,^ 符號表示兼容性范圍符號,允許安裝與指定版本兼容的更新版本。 例如,“vue”: “^3.0.0” 意味著: 可以安…

Web3 游戲平臺 Creo Engine 銷毀代幣總量的20%,以促進長遠發展

Creo Engine 5月16日進行了第三次代幣銷毀,這次的銷毀占代幣總量的 20%。一共銷毀了2億 $CERO 代幣,市場價值接近 2000 萬美元。 Creo Engine 致力于連接世界、為玩家提供一站式游戲中心,并提升 Web3 游戲體驗。 Creo Engine 發布于2022年&am…

USB抓包工具:bushound安裝及使用

一、環境搭建 下載busbound6.01安裝包,安裝完成,重啟電腦。 二、工具配置 按照下圖配置工具: 使能自動識別新設備 2. 設置抓取數據的容量 三、抓包 回到capture選項卡,在頁面的右下角有個run的按鈕,點擊使能&…

RedHat9 | 磁盤管理

硬盤分區類型 MBR分區方案 MBR也被稱為主引導記錄,它存在0柱面0磁道0扇區內,在磁盤的第一個扇區內,大小為512字節 512字節包含:446字節初始化程序加載器、64字節分區表、2字節校驗碼由于每個分區為16字節,所以MBR只…

Git配置詳解

天行健,君子以自強不息;地勢坤,君子以厚德載物。 每個人都有惰性,但不斷學習是好好生活的根本,共勉! 文章均為學習整理筆記,分享記錄為主,如有錯誤請指正,共同學習進步。…

js實現元素根據鼠標滾輪滾動向左右上下滑動著從模糊到清楚顯示出來

html代碼 <div ref{test} id"animatedElement" className"not-animated"> <div style{{width:"100px",height:"50px",backgroundColor:"red"}}> </div> </div> JS代碼 const te…

用智能插件(Fitten Code: Faster and Better AI Assistant)修改好了可以持久保存的vue3留言板

天際 第一修改是選項式&#xff1a; <!-- 模板結構 --> <template><div><textarea placeholder"請輸入備注內容" v-model"newItem"></textarea><button click"addItem">添加</button><hr><…

Vue2+Element 封裝評論+表情功能

有需要的小伙伴直接拿代碼即可&#xff0c;不需要下載依賴&#xff0c;目前是初始版本&#xff0c;后期會進行代碼的優化。 評論組件如下&#xff1a; 創建 comment.vue 文件。 表情組件 VueEmoji.vue 在評論組件中使用。 <template><div class"comment"…

《主對角線求和》

描述 有一個n行n列的二維數組&#xff0c;請你求出二維數組的主對角線上的所有數字的和是多少。 輸入描述 第一行一個整數n&#xff0c;代表下面輸入的是n行n列(2≤n≤10)的二維數組&#xff1b; 接下來n行&#xff0c;每行n列&#xff0c;表示二維數組的每個元素各是多少。 …

數字孿生技術在管理中有哪些實際應用?

隨著科學技術的不斷提高&#xff0c;數字孿生技術也在不斷的從理論應用至現實&#xff0c;并且涉及領域較為廣泛。 在生產運營管理層面&#xff0c;通過構建數字孿生模型&#xff0c;企業可以精準模擬和優化生產線&#xff0c;實現生產流程的智能化和高效化。比如&#xff0c;…

TypeScript-搭建編譯環境

搭建編譯環境 TypeScript 編寫的代碼是無法直接在js引擎( 瀏覽器 / Nodejs )中運行的&#xff0c;最終還需要經過編譯成js代碼才可以正常運行 搭建手動編譯環境 1?? 全局安裝 typescript 包&#xff08;編譯引擎&#xff09; -> 注冊 tsc 命令 npm i -g typescript 2…

下拉框操作/鍵鼠操作/文件上傳

在我們做UI自動化測試的時候&#xff0c;會有一些元素需要特殊操作&#xff0c;比如下拉框操作/鍵鼠操作/文件上傳。 下拉框操作 在我們很多頁面里有下拉框的選擇&#xff0c;這種元素怎么定位呢&#xff1f;下拉框分為兩種類型&#xff1a;我們分別針對這兩種元素進行定位和…

2024最新 Jenkins + Docker 實戰教程(五)- 配置Gitee Webhooks實現自動構建部署

&#x1f604; 19年之后由于某些原因斷更了三年&#xff0c;23年重新揚帆起航&#xff0c;推出更多優質博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有堅忍不拔之志 &#x1f390; 個人CSND主頁——Mi…

Packet Tracer-HSRP+DHCPv4+VLAN間路由+以太通道綜合實驗

實驗拓撲&#xff1a; 實驗內容&#xff1a; VLAN及VLAN間路由的配置&#xff0c;以太通道的配置&#xff0c;STP的根調整&#xff0c;DHCPv4的配置&#xff0c;首跳冗余HSRP的配置。 實驗最終結果&#xff1a; PC可以自動獲取到DHCP-Server分配的IP地址&#xff0c;實現首跳…

【Sentinel】Sentinel配置zk持久化

代碼 import cn.hutool.core.util.StrUtil; import com.alibaba.csp.sentinel.datasource.ReadableDataSource; import com.alibaba.csp.sentinel.datasource.zookeeper.ZookeeperDataSource; import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule; import com.a…

信息系統工程師--八大績效域-交付績效域

信息系統工程師的八大績效域包括&#xff1a;干系人、團隊、開發方法和生命周期、項目工作、規劃、交付、度量、不確定性。 預期目標 1、項目有助于實現業務目標和戰略 2、項目實現了預期成果 3、在預定時間內實現了項目收益 4、項目團隊對需求有清晰的理解 5、干系人接受…