mysql課程表學時_Mysql 鞏固提升 (學生表_課程表_成績表_教師表)

方便Mysql 鞏固提升

創建表并插入數據:

-- ----------------------------

-- Table structure for student

-- ----------------------------

DROP TABLE IF EXISTS `student`;

CREATE TABLE `student` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`sname` varchar(32) DEFAULT NULL,

`sage` int(11) DEFAULT NULL,

`ssex` varchar(8) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of student

-- ----------------------------

INSERT INTO `student` VALUES ('1', '劉一', '18', '男');

INSERT INTO `student` VALUES ('2', '錢二', '19', '女');

INSERT INTO `student` VALUES ('3', '張三', '17', '男');

INSERT INTO `student` VALUES ('4', '李四', '18', '女');

INSERT INTO `student` VALUES ('5', '王五', '17', '男');

INSERT INTO `student` VALUES ('6', '趙六', '19', '女');

-- ----------------------------

-- Table structure for teacher

-- ----------------------------

DROP TABLE IF EXISTS `teacher`;

CREATE TABLE `teacher` (

`id` int(11) DEFAULT NULL,

`tname` varchar(16) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of teacher

-- ----------------------------

INSERT INTO `teacher` VALUES ('1', '葉平');

INSERT INTO `teacher` VALUES ('2', '賀高');

INSERT INTO `teacher` VALUES ('3', '楊艷');

INSERT INTO `teacher` VALUES ('4', '周磊');

-- ----------------------------

-- Table structure for course

-- ----------------------------

DROP TABLE IF EXISTS `course`;

CREATE TABLE `course` (

`id` int(11) DEFAULT NULL,

`cname` varchar(32) DEFAULT NULL,

`tid` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of course

-- ----------------------------

INSERT INTO `course` VALUES ('1', '語文', '1');

INSERT INTO `course` VALUES ('2', '數學', '2');

INSERT INTO `course` VALUES ('3', '英語', '3');

INSERT INTO `course` VALUES ('4', '物理', '4');

-- ----------------------------

-- Table structure for sc

-- ----------------------------

DROP TABLE IF EXISTS `sc`;

CREATE TABLE `sc` (

`sid` int(11) DEFAULT NULL,

`cid` int(11) DEFAULT NULL,

`score` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of sc

-- ----------------------------

INSERT INTO `sc` VALUES ('1', '1', '56');

INSERT INTO `sc` VALUES ('1', '2', '78');

INSERT INTO `sc` VALUES ('1', '3', '67');

INSERT INTO `sc` VALUES ('1', '4', '58');

INSERT INTO `sc` VALUES ('2', '1', '79');

INSERT INTO `sc` VALUES ('2', '2', '81');

INSERT INTO `sc` VALUES ('2', '3', '92');

INSERT INTO `sc` VALUES ('2', '4', '68');

INSERT INTO `sc` VALUES ('3', '1', '91');

INSERT INTO `sc` VALUES ('3', '2', '47');

INSERT INTO `sc` VALUES ('3', '3', '88');

INSERT INTO `sc` VALUES ('3', '4', '56');

INSERT INTO `sc` VALUES ('4', '2', '88');

INSERT INTO `sc` VALUES ('4', '3', '90');

INSERT INTO `sc` VALUES ('4', '4', '93');

INSERT INTO `sc` VALUES ('5', '1', '46');

INSERT INTO `sc` VALUES ('5', '3', '78');

INSERT INTO `sc` VALUES ('5', '4', '53');

INSERT INTO `sc` VALUES ('6', '1', '35');

INSERT INTO `sc` VALUES ('6', '2', '68');

INSERT INTO `sc` VALUES ('6', '4', '71');

1. 查詢“001”課程比“002”課程成績高的所有學生的學號

SELECT

a1.sid

FROM

(SELECT * FROM sc WHERE cid = 1) a1,

(SELECT * FROM sc WHERE cid = 2) a2

WHERE

a1.score > a2.score

AND a1.sid = a2.sid

select sid,GROUP_CONCAT(score),count(sid)from sc GROUP BY sid;

2. 查詢平均成績大于60分的學生的平均成績

select sid,AVG(score) from sc GROUP BY sid HAVING AVG(score)>60;

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

select a1.id,a1.sname from student a1;

select sid,count(cid),sum(score) from sc GROUP BY sid;

SELECT

a1.id,

a1.sname,

a2.number,

a2.score

FROM

student a1,

(

SELECT

sid,

count(cid) AS number,

sum(score) AS score

FROM

sc

GROUP BY

sid

) a2

WHERE

a1.id = a2.sid;

4. 查詢姓“周”的老師的個數

SELECT

count(DISTINCT(tname))

FROM

teacher

WHERE

tname LIKE '周%';

5.查詢沒學過“葉平”老師課的同學的學號、姓名

select id from course a where a.tid = (SELECT id from teacher where tname='葉平');

select sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid;

SELECT

sid

FROM

(

SELECT

sid,

GROUP_CONCAT(cid ORDER BY cid ASC) AS cids

FROM

sc

GROUP BY

sid

) a

WHERE

! FIND_IN_SET('1', cids);

6. 查詢學過“001”并且也學過編號“002”課程的同學的學號、姓名

方法一:

select sid from (select sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where FIND_IN_SET('1',cids) and FIND_IN_SET('2',cids);

SELECT id,sname from student where student.id in (select sid from (select sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where FIND_IN_SET('1',cids) and FIND_IN_SET('2',cids));

方法二:

select student.id,student.sname from student,sc where student.id = sc.sid and sc.cid = '001' and EXISTS(select * from sc sc2 where sc.sid = sc2.sid and sc2.cid='002');

7.查詢學過“葉平”老師所教的所有課的同學的學號、姓名

SELECT student.id,student.sname from student where student.id in(SELECT DISTINCT(sid) from sc,course,teacher WHERE sc.cid = course.id and course.id = teacher.id and teacher.tname = '葉平');

8. 查詢課程編號“002”的成績比課程編號“001”課程低的所有同學的學號、姓名

select a2.sid from (select * from sc where sc.cid ='002') a1,(select * from sc where sc.cid ='001') a2 where a1.score < a2.score and a1.sid = a2.sid;

select student.id,student.sname from student where student.id in(select a2.sid from (select * from sc where sc.cid ='002') a1,(select * from sc where sc.cid ='001') a2 where a1.score < a2.score and a1.sid = a2.sid)

9. 查詢所有課程成績小于60分的同學的學號、姓名

select GROUP_CONCAT(score ORDER BY score asc) from sc GROUP BY sid

select * from student where student.id not in(select sid from student,sc where student.id = sc.sid and sc.score>60);

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

SELECT count(1) from course;

SELECT sid from sc GROUP BY sid HAVING count(cid)

select a.id,a.sname from student a,(SELECT sid from sc GROUP BY sid HAVING count(cid)

select a.id,a.sname from student a,sc b where a.id = b.sid GROUP BY a.id HAVING count(a.id)<4;

11.查詢至少有一門課與學號為“1001”的同學所學相同的同學的學號和姓名

select DISTINCT(student.id),student.sname from student,sc where student.id = sc.sid and sc.cid in(SELECT sc.cid from sc where sc.sid='1');

12.把“SC”表中“葉平”老師教的課的成績都更改為此課程的平均成績

select course.id from course,teacher where course.tid = teacher.id and teacher.tname ='葉平';

select sc.cid,avg(score) from sc where sc.cid= 1 GROUP BY cid;

UPDATE sc set sc.score = 12 where sc.cid =5;

13.查詢和“1002”號的同學學習的課程完全相同的其他同學學號和姓名

SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid;

SELECT cids from (SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where a.sid = 1;

select * from (SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where a.cids = (SELECT cids from (SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where a.sid = 1);

14.刪除學習“葉平”老師課的SC表記錄

SELECT * from sc,course,teacher where sc.cid = course.id and course.id = teacher.id and teacher.tname = '葉平';

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

SELECT cid,MAX(score) as '最高分',MIN(score) as '最低分' from sc GROUP BY sc.cid

select cid,GROUP_CONCAT(score) from sc GROUP BY cid;

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

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

相關文章

初始java_第一章__初始JAVA

1.java的三個發展方向&#xff1a;JAVASE(面向對象、API、JVM)、JAVAME(移動設備、游戲、通信)、JAVAEE(JSP、EJB、服務)2.開發JAVA的程序步驟&#xff1a;1.編寫源程序 2.編譯 3.運行3.JDKJRE開發工具下載java環境jdk 安裝并配置環境變量&#xff0c;.安裝直接下一步下一步直到…

python最常用的版本、也稱為classic_2021年中國大學《創新思維與創業》單元測試答案...

2021年中國大學《創新思維與創業》單元測試答案被人們稱為 “寒地水稻第一人”的是袁隆平答&#xff1a;錯地圖數據的基本特征包括答&#xff1a;時間屬性 空間定位屬性 地理屬性對賣方征稅導致商品價格上升答&#xff1a;√( )是在床榻上使用的一種矮形家具。答&#xff1a;炕…

java 泛型 繼承_java基礎之泛型的繼承

關于泛型的基本介紹和理解請參考以下幾篇文章&#xff0c;或查詢更多資料&#xff1a;本篇以簡單的List<>方式來進行說明。ArrayList繼承了List,ArrayList沒有繼承ListList>等價于List extends Object>請參考以下代碼&#xff1a;/*** author Ding Chengyun* 2014-…

appium java環境_Appium環境搭建(Windows版)

注&#xff1a;appium安裝到C盤&#xff0c;node.js安裝到C盤一、安裝node.js1、到官網下載node.js&#xff1a;https://nodejs.org/en/download/2、獲取到安裝文件后&#xff0c;直接雙擊安裝文件&#xff0c;根據程序的提示&#xff0c;完成nodejs的安裝。3、安裝完成后&…

ci mysql pdo_CI框架中pdo的使用方法

1、配置文件修改application/config文件夾下的database.php文件 $db[default] array(dsn > mysql:dbnameci_ecshop;host127.0.0.1,username > root,password > ,dbdriver > pdo,2、查詢操作$sql select * from aaa where id :id;$sql_array array(:id > …

ie11加載java插件_IE瀏覽器中ActiveX插件的使用

在某些行業的B/S應用系統中會不可避免的要用到ActiveX瀏覽器插件&#xff0c;而ActiveX插件只能在IE內核瀏覽器中運行&#xff0c;而常用的IE瀏覽器的版本眾多&#xff0c;從IE6到IE11&#xff0c;總共有6個版本&#xff0c;這就給開發的應用系統造成了不小的困擾&#xff1a;如…

netty java開發文檔_Netty簡明教學文檔

寫個簡單點&#xff0c;比較小白的文檔&#xff0c;言語比較接地氣Netty是什么&#xff1f;NIO的高層封裝&#xff0c;NIO很難寫&#xff0c;所以有了Netty&#xff0c;方便異步的操作service的主要代碼片段public void run() throws Exception {EventLoopGroup bossGroup new…

mysql 全局不重復_php uniqid() 通過MYSQL實現全局不重復的唯一ID

看了國外文章&#xff1a;https://jason.pureconcepts.net/2013/09/php-convert-uniqid-to-timestamp/ 不想寫&#xff50;&#xff48;&#xff50;腳本uniqid()處理&#xff0c;想到用mysql一次性把數據庫的ID改過來的方法&#xff0c;所以開始了以下研究方法一: 效率最高&…

java接口允許ajax訪問_服務允許AJAX請求,允許跨域請求

當工作時間&#xff0c;因為需要JS 進行AJAX請求&#xff0c;這時候存在跨域問題&#xff0c;當出現這種情況時&#xff0c;有多種方案解決比如使用JSONP&#xff0c;也有一種簡單的方式&#xff0c;就是在過濾器里面增加返回請求允許跨域head配置。代碼如下&#xff1a;/**** …

mysql的增_MySQL之增_insert-replace

MySQL增刪改查之增insert、replace一、INSERT語句帶有values子句的insert語句&#xff0c;用于數據的增加語法&#xff1a;INSERT [INTO] tbl_name[(col_name,...)]{VALUES | VALUE} (expr ,...),(...),...①用來把一個新行插入到表中②為和其它數據庫保持一致&#xff0c;不要…

python manager詳解_python 多進程共享全局變量之Manager()詳解

Manager支持的類型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue,Value和Array。但當使用Manager處理list、dict等可變數據類型時&#xff0c;需要注意一個陷阱&#xff0c;即Manager對象無法監測到它引用的可變對象值的修改&#xff0c…

java 添加等待時間_Java中線程等待特定時間的最有效方法 - java

我知道這個問題here&#xff0c;但是我有一個稍微不同的問題。如果我希望自己通過各種Thread方法(而不是通過實用程序類或Quartz)手動編碼某個線程在特定時間的運行&#xff0c;那么最有效(就開銷而言)進行編碼。我考慮過:boolean wasInterrupted false;while (System.current…

PHP微信app接口退款,10.PHP接入微信退款接口

推薦文章摘要環境搭建開啟配置服務器環境核心類驗證回復拓展推薦文章今天網上和朋友圈炸開了鍋&#xff0c;原因是微信小程序正式上線了。吃瓜群眾表示不理解&#xff0c;于是去搜了下。不搜不要緊&#xff0c;搜了嚇一跳&#xff0c;原來微信小程序早在2016年9月份就已經進行了…

java線程讀取流的時候卡死,java – 線程中斷沒有結束阻塞調用輸入流讀取

我正在使用RXTX從串口讀取數據.讀取是在以下列方式生成的線程內完成的&#xff1a;CommPortIdentifier portIdentifier CommPortIdentifier.getPortIdentifier(port);CommPort comm portIdentifier.open("Whatever", 2000);SerialPort serial (SerialPort)comm;..…

php poi,GitHub - satthi/poi-php: poi-php

poi-phpvarsion 0.1(2013/10/21)このプラグインはJavaのpoiをPHPから叩いてエクセルを入出力するプラグインです。必須要件jdk1.7.0_40poi-3.9opencsv-2.3使い方①poi-phpを任意の場所に設置②PHPを記述//デフォルト読み込みrequire_once(poi-php.phpのディレクトリパス);$this…

php hmac sha256簽名,HMAC-SHA256簽名錯誤?

#2.連接商戶key&#xff1a;act_name3333321ss&client_ip118.89.65.223&mch_billnoa0000000000000000001&mch_id1529243621&nonce_str905Qh0J59d69JjDtD7QkyRAm576kh5hU&re_openidoiW0l03-60UfHJfo0olLt3wOLb0E&remark111&remark222dddd&send_…

php傳輸的多個id集中為一條記錄,如何將多個ID應用于Mysql中的一條記錄?

在實體關系語言中,這稱為多對多關系.一個產品可以有多個類別,一個類別可以有多個產品.要在關系數據庫中執行此操作,您需要三個表.product: product_id, name, description, etccategory: category_id, catname, catdescription, etc然后用這個所謂的聯接表建立產品和類別之間的…

php redis 傳遞閉包,通過緩存構建高性能 Laravel 應用

通過緩存構建高性能 Laravel 應用由 學院君 創建于3年前, 最后更新于 11個月前版本號 #220678 views9 likes1 collects配置Laravel 為不同的緩存系統提供了統一的 API。緩存配置位于 config/cache.php。在該文件中你可以指定在應用中默認使用哪個緩存驅動。Laravel 開箱支持主流…

imclearboder matlab,Lucas

Lucas-Kanade跟蹤算法是視覺跟蹤中一個很經典的基于點的逐幀跟蹤算法。起初這個算法是用來求解stero matching1的&#xff0c;后來經過Carlo Tomasi2和Jianbo Shi3等人的發展漸趨成熟。Jianbo Shi提出了一種篩選跟蹤點特征的方法&#xff0c;使得特征的跟蹤更可靠。Jean-Yves B…

php判斷url參數為空,PHP檢查url鏈接是否已經有參數的簡單示例

這篇文章主要為大家詳細介紹了PHP檢查url鏈接是否已經有參數的簡單示例&#xff0c;具有一定的參考價值&#xff0c;可以用來參考一下。感興趣的小伙伴&#xff0c;下面一起跟隨512筆記的小編小韻來看看吧&#xff01;比如分頁&#xff0c;因為有些鏈接已經有參數了&#xff0c…