MySQL常用練手題目

數據庫表名和字段設計

1.學生表

Student(s_id,s_name,s_birth,s_sex)

學生編號,學生姓名, 出生年月,學生性別

2.課程表

Course(c_id,c_name,t_id)

課程編號, 課程名稱, 教師編號

3.教師表

Teacher(t_id,t_name)

教師編號,教師姓名

4.成績表

Score (s_id,c_id,s_score)

學生編號,課程編號,分數

建表語句

學生表

CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT '', `s_birth` VARCHAR(20) NOT NULL DEFAULT '', `s_sex` VARCHAR(10) NOT NULL DEFAULT '', PRIMARY KEY(`s_id`) );

課程表

CREATE TABLE `Course`( `c_id` VARCHAR(20), `c_name` VARCHAR(20) NOT NULL DEFAULT '', `t_id` VARCHAR(20) NOT NULL, PRIMARY KEY(`c_id`) ); 

教師表

CREATE TABLE `Teacher`( `t_id` VARCHAR(20), `t_name` VARCHAR(20) NOT NULL DEFAULT '', PRIMARY KEY(`t_id`) );

成績表

CREATE TABLE `Score`( `s_id` VARCHAR(20), `c_id` VARCHAR(20), `s_score` INT(3), PRIMARY KEY(`s_id`,`c_id`) ); 

插入測試數據

學生表

insert into Student values('01' , '趙雷' , '1990-01-01' , '男'); 
insert into Student values('02' , '錢電' , '1990-12-21' , '男'); 
insert into Student values('03' , '孫風' , '1990-05-20' , '男'); 
insert into Student values('04' , '李云' , '1990-08-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吳蘭' , '1992-03-01' , '女'); 
insert into Student values('07' , '鄭竹' , '1989-07-01' , '女'); 
insert into Student values('08' , '王菊' , '1990-01-20' , '女'); 

教師表

insert into Course values('01' , '語文' , '02'); 
insert into Course values('02' , '數學' , '01'); 
insert into Course values('03' , '英語' , '03'); 

課程表

insert into Teacher values('01' , '張三');
insert into Teacher values('02' , '李四'); 
insert into Teacher values('03' , '王五'); 

成績表

insert into Score values('01' , '01' , 80); 
insert into Score values('01' , '02' , 90); 
insert into Score values('01' , '03' , 99); 
insert into Score values('02' , '01' , 70); 
insert into Score values('02' , '02' , 60); 
insert into Score values('02' , '03' , 80); 
insert into Score values('03' , '01' , 80); 
insert into Score values('03' , '02' , 80); 
insert into Score values('03' , '03' , 80); 
insert into Score values('04' , '01' , 50); 
insert into Score values('04' , '02' , 30); 
insert into Score values('04' , '03' , 20); 
insert into Score values('05' , '01' , 76); 
insert into Score values('05' , '02' , 87);
insert into Score values('06' , '01' , 31);
insert into Score values('06' , '03' , 34); 
insert into Score values('07' , '02' , 89); 
insert into Score values('07' , '03' , 98); 

常見題目

1、查詢"01"課程比"02"課程成績高的學生的信息及課程分數

select a.*,b.s_score as 01_score,c.s_score as 02_score from 
student ajoin score b on a.s_id=b.s_id and b.c_id='01'left join score c on a.s_id=c.s_id and c.c_id='02' or c.c_id = null whereb.s_score>c.s_score;

2、查詢平均成績大于等于60分的同學的學生編號和學生姓名和平均成績

select b.s_id,b.s_name,ROUND(AVG(a.s_score),2) as avg_score fromstudent bjoin score a on b.s_id = a.s_idGROUP BY b.s_id,b.s_name HAVING avg_score >= 60;

3、查詢平均成績小于60分的同學的學生編號和學生姓名和平均成績-- (包括有成績的和無成績的)

select b.s_id,b.s_name,ROUND(AVG(a.s_score),2) as avg_score fromstudent bleft join score a on b.s_id = a.s_idGROUP BY b.s_id,b.s_name HAVING avg_score < 60union
select a.s_id,a.s_name,0 as avg_score from student awhere a.s_id not in (select distinct s_id from score);

4、查詢學過"張三"老師授課的同學的信息

select a.* fromstudent ajoin score b on a.s_id=b.s_id where b.c_id in(select c_id from course where t_id = (select t_id from teacher where t_name = '張三'));

5、查詢所有同學的學生編號、學生姓名、選課總數、所有課程的總成績

select a.s_id,a.s_name,count(b.c_id) as sum_course,sum(b.s_score) as sum_score from student aleft join score b on a.s_id = b.s_idGROUP BY a.s_id,a.s_name;

6、查詢學過編號為"01"并且也學過編號為"02"的課程的同學的信息

select a.* fromstudent a,score b,score cwhere a.s_id = b.s_id and a.s_id = c.s_id and b.c_id ='01' and c.c_id='02';

7、查詢學過編號為"01"但是沒有學過編號為"02"的課程的同學的信息

select a.* fromstudent awhere a.s_id in (select s_id from score where c_id='01') and a.s_id not in (select s_id from score where c_id='02');

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

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

相關文章

C# window forms 進度條實現

在 C# Windows Forms 應用程序中&#xff0c;如果在后臺執行長時間運行的任務&#xff0c;并希望同時更新進度條&#xff0c;可以使用多線程來實現。這將確保進度條的更新不會阻塞主線程&#xff0c;從而保持界面的響應性。以下是一個示例&#xff0c;演示了如何在后臺執行任務…

【Datawhale 科大訊飛-基于論文摘要的文本分類與關鍵詞抽取挑戰賽】機器學習方法baseline

內容 科大訊飛AI開發者大賽NLP賽道題目&#xff1a; 基于論文摘要的文本分類與關鍵詞抽取挑戰賽 任務&#xff1a; 1.機器通過對論文摘要等信息的理解&#xff0c;判斷該論文是否屬于醫學領域的文獻。 2.提取出該論文關鍵詞。 數據集的獲取 訓練集&#xff1a; 這里讀取tit…

【基礎】Android Handler

一、博客參考 Handler機制詳解【重點】&#xff1a;https://www.jianshu.com/p/b4d745c7ff7a Handler Thread工作線程操作UI范例【重點】&#xff1a;https://www.cnblogs.com/net168/p/4075126.html 二、內存泄漏的解決&#xff1a;靜態內部類弱引用 關于 Handler&#xf…

vue+flask基于知識圖譜的抑郁癥問答系統

vueflask基于知識圖譜的抑郁癥問答系統 抑郁癥已經成為當今社會刻不容緩需要解決的問題&#xff0c;抑郁癥的危害主要有以下幾種&#xff1a;1.可導致病人情緒低落&#xff1a;抑郁癥的病人長期處于悲觀的狀態中&#xff0c;感覺不到快樂&#xff0c;總是高興不起來。2.可導致工…

智慧工地平臺工地人員管理系統 可視化大數據智能云平臺源碼

智慧工地概述&#xff1a; 智慧工地管理平臺是以物聯網、移動互聯網技術為基礎&#xff0c;充分應用大數據、人工智能、移動通訊、云計算等信息技術&#xff0c;利用前端信息采通過人機交互、感知、決策、執行和反饋等&#xff0c;實現對工程項目內人員、車輛、安全、設備、材…

elaticsearch(3)

整合springboot 1.整合依賴 注意依賴版本和安裝的版本一致 <properties> <java.version>1.8</java.version> <!-- 統一版本 --> <elasticsearch.version>7.6.1</elasticsearch.version> </properties> 導入elastics…

數據結構算法--1 順序查找二分查找

順序查找時間復雜度為O(n) 我們可以借助Python中的函數enumerate,通過enumerate遍歷列表返回其索引和值 def linnear_search(li, val):for ind, v in enumerate(li):if v val:return indelse:return None 也可以通過列表長度依次遍歷: def linear_search(li, val): # …

瀏覽器渲染原理 - 輸入url 回車后發生了什么

目錄 渲染時間點渲染流水線1&#xff0c;解析&#xff08;parse&#xff09;HTML1.1&#xff0c;DOM樹1.2&#xff0c;CSSOM樹1.3&#xff0c;解析時遇到 css 是怎么做的1.4&#xff0c;解析時遇到 js 是怎么做的 2&#xff0c;樣式計算 Recalculate style3&#xff0c;布局 la…

創建react native項目的筆記

創建react native項目的筆記 重新下載 ruby安裝 watchman安裝 cocoapods安裝 react native 項目創建好項目后安裝 ios 依賴清除設備緩存安裝 android 依賴鏈接 網易 mumu 模擬器安裝路由 Navigation頁面之間的跳轉邏輯自定義頭部樣式判斷不同設備平臺代碼示例安裝 Axios安裝本地…

java mysql druid mybatis-plus里使用多表刪除出錯的一種處理方式

今天在出來多表刪除的時候在mapper.xml用了下面的多個delete語句 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"…

Spring Cloud 系列之OpenFeign:(7)鏈路追蹤zipkin

傳送門 Spring Cloud Alibaba系列之nacos&#xff1a;(1)安裝 Spring Cloud Alibaba系列之nacos&#xff1a;(2)單機模式支持mysql Spring Cloud Alibaba系列之nacos&#xff1a;(3)服務注冊發現 Spring Cloud 系列之OpenFeign&#xff1a;(4)集成OpenFeign Spring Cloud …

PHP酒店點菜管理系統mysql數據庫web結構apache計算機軟件工程網頁wamp

一、源碼特點 PHP 酒店點菜管理系統是一套完善的web設計系統&#xff0c;對理解php編程開發語言有幫助&#xff0c;系統具有完整的源代碼和數據庫&#xff0c;系統主要采用B/S模式開發。 代碼下載 https://download.csdn.net/download/qq_41221322/88232051 論文 https://…

前端技術Vue學習筆記--005

Vue學習筆記 一、非父子通信-event bus 事件總線 作用&#xff1a;非父子組件之間&#xff0c;進行簡易消息傳遞。&#xff08;復雜場景用----Vuex&#xff09; 使用步驟&#xff1a; 創建一個都能訪問的事件總線 &#xff08;空Vue實例&#xff09;-----utils/EventBus.js /…

兩個數組的交集-C語言/Java

描述 給定兩個數組 nums1 和 nums2 &#xff0c;返回 它們的交集 。輸出結果中的每個元素一定是 唯一 的。我們可以 不考慮輸出結果的順序。&#xff08;1 < nums1.length, nums2.length < 1000&#xff0c;0 < nums1[i], nums2[i] < 1000&#xff09; 示例1 輸入…

【golang】通道(channel)的基本原理(一)

通道類型的值本身就是并發安全的&#xff0c;這也是Go語言自帶的、唯一一個可以滿足并發安全性的類型。 聲明一個通道類型變量的時候&#xff0c;我們首先要確定該通道類型的元素類型&#xff0c;決定了我們可以通過這個通道傳遞什么類型的數據。 在初始化通道的時候&#xf…

一鍵批量修改文件夾名稱,中文瞬間變日語,輕松搞定重命名

大家好&#xff01;現在為了更好地適應全球化發展&#xff0c;許多人都有了海外交流、旅行、學習的需求。但是難免遇到一個問題&#xff1a;在電腦中的中文文件夾名稱如何快速翻譯成日語&#xff1f; 首先&#xff0c;第一步&#xff0c;我們需要打開文件批量改名&#xff0c;…

【Unity】編輯器下查找制定文件下的所有特定資源

需求上很簡單&#xff0c;就是在編輯器下&#xff0c;找到某個制定文件下的所有特定資源&#xff08;UnityEngine.Object&#xff09;。Unity 沒有提供專門的 API&#xff0c;我一開始想在網上搜索代碼&#xff0c;發現沒有現成可以直接用的。 功能實現本身并不復雜&#xff0c…

AWS EKS 集群自動擴容 Cluster Autoscaler

文章目錄 一&#xff0c;需求工作需求說明 二&#xff0c;部署精簡命令執行1&#xff0c;要求2&#xff0c;查看EC2 Auto Scaling groups Tag3&#xff0c;創建Serviceaccount需要的Policy&#xff0c;Role4&#xff0c;部署Cluster Autoscaler5&#xff0c;驗證6&#xff0c;常…

zotero在不同系統的安裝(win/linux)

1 window系統安裝 zotero 官網&#xff1a; https://www.zotero.org/ 官方文檔 &#xff1a;https://www.zotero.org/support/ (官方)推薦常用的插件: https://www.zotero.org/support/plugins 入門視頻推薦&#xff1a; Zotero 文獻管理與知識整理最佳實踐 點擊 exe文件自…