这是<一起找打的约定>的改良版本
-- CREATE TABLE class (
-- cid INT(25)auto_increment PRIMARY KEY,
-- caption VARCHAR(50) not NULL
-- )CHARSET utf8;
--
-- CREATE TABLE student (
-- sid INT(25)auto_increment PRIMARY KEY,
-- sname VARCHAR(50)NOT NULL,
-- gender enum('男','女')DEFAULT '男',
-- class_id INT(25) NOT NULL DEFAULT 1,
-- CONSTRAINT fk_class (class_id) REFERENCES class(cid)
-- )CHARSET utf8;
--
-- CREATE TABLE teacher (
-- tid INT(25)auto_increment PRIMARY KEY,
-- tname VARCHAR(50) not NULL
-- )CHARSET utf8;
--
-- CREATE TABLE course (
-- cid INT(25)auto_increment PRIMARY KEY,
-- cname VARCHAR(50)NOT NULL,
-- teacher_id INT(25) NOT NULL DEFAULT 1,
-- CONSTRAINT fk_teacher (teacher_id)REFERENCES teacher(tid)
-- )CHARSET utf8;
--
-- CREATE TABLE score(
-- sid INT(25)auto_increment PRIMARY KEY,
-- student_id INT(25) NOT NULL DEFAULT 1,
-- course_id int (25) NOT NULL DEFAULT 1,
-- number INT(25) NOT NULL DEFAULT 60,
-- CONSTRAINT fk_student (student_id)REFERENCES student(sid),
-- CONSTRAINT fk_course (course_id)REFERENCES course(cid)
-- )CHARSET utf8;
-- INSERT INTO class(caption) VALUES('三年二班');
-- INSERT INTO class(caption) VALUES('一年三班');
-- INSERT INTO class(caption) VALUES('三年一班');
--
-- INSERT INTO student(sname,gender,class_id) VALUES('钢蛋','女',1);
-- INSERT INTO student(sname,gender,class_id) VALUES('铁锤','女',1);
-- INSERT INTO student(sname,gender,class_id) VALUES('山炮','男',2);
--
-- insert into teacher (tname) VALUES('波多');
-- insert into teacher (tname) VALUES('苍空');
-- insert into teacher (tname) VALUES('饭岛');
--
-- insert into course(cname,teacher_id)VALUES('生物',1);
-- insert into course(cname,teacher_id)VALUES('体育',1);
-- insert into course(cname,teacher_id)VALUES('物理',2);
-- insert into course(cname,teacher_id)VALUES('交配',3);
--
-- insert into score(student_id,course_id,number)VALUES(1,1,60);
-- insert into score(student_id,course_id,number)VALUES(1,2,59);
-- insert into score(student_id,course_id,number)VALUES(2,2,100);
-- 1
SELECT DISTINCT student.sname,student.sid
from student LEFT JOIN score on student.sid=score.student_id
WHERE score.number>60;
-- 2
SELECT teacher.*,COUNT(course.teacher_id) as teachNUM
FROM teacher LEFT JOIN course on teacher.tid=course.teacher_id
GROUP BY teacher.tid;
-- 3
SELECT sid as studentID,sname,gender,cid as classNUM ,caption
FROM class RIGHT JOIN student on class.cid = student.class_id;
-- 4
SELECT gender,COUNT(sid) as genderNUM
FROM student
GROUP BY gender;
-- 5
SELECT student.sid,score.number,student.sname
FROM student LEFT JOIN score ON student.sid=score.student_id LEFT JOIN course ON score.course_id=course.cid
WHERE course.cid=1;
-- 6
SELECT student.sid,score.number as avgSCORE
FROM student LEFT JOIN score ON student.sid=score.student_id
WHERE score.number>60;
-- 7
SELECT count(tid) as num_of_family_name_is_LI
FROM teacher
WHERE teacher.tname like '李%';
-- 8
SELECT student.sid,student.sname
FROM student LEFT JOIN score ON student.sid=score.student_id
WHERE score.number<60;
-- 9
DELETE from score where course.cid in(
SELECT cid from course
FROM teacher LEFT JOIN course on teacher.tid =course.teacher_id
WHERE teacher.tname='叶平');
-- 10
SELECT course_id AS 课程ID,max(score.number) AS 最高分,min(score.number) AS 最低分
FROM score JOIN course on course.cid=score.course_id
GROUP BY course.cid;
-- 11
SELECT course.cname,count(score.student_id) AS 选择数量
FROM score LEFT JOIN course on course.cid=score.course_id
GROUP BY course.cname;
-- 12
SELECT sname
FROM student
WHERE sname like '张%';
-- 13
SELECT course.cname,avg(score.number)
FROM course join score on course.cid=score.course_id
GROUP BY course.cname;
-- 14
SELECT student.sid,sname,score.number
from student LEFT join score on score.student_id=student.sid
WHERE score.number>85;
-- 15
SELECT student.sid,student.sname
FROM student JOIN score on score.student_id=student.sid
WHERE score.course_id=3 and score.number>85;
-- 16
SELECT course.cname,count(student.sid)
FROM student RIGHT JOIN score ON student.sid=score.student_id LEFT JOIN course ON score.course_id=course.cid
GROUP BY cname;
-- 17
SELECT student.sid
FROM student JOIN score on score.student_id = student.sid
where course.cid=4
ORDER BY score.number DESC;
-- 18
DELETE from score WHERE score.student_id in(
SELECT student.sid
FROM student JOIN score on score.student_id = student.sid
WHERE student.sid=2 AND score.sid=1)
这是<一起找打的约定>的改良版本的更多相关文章
- VS2017新建或拷贝项目编译时出现:找不到 Windows SDK 版本8.1.请安装所需的版本的 Windows SDK
VS2017新建或拷贝项目编译时出现:找不到 Windows SDK 版本8.1.请安装所需的版本的 Windows SDK 或者在项目属性页的问题解决方案 解决方法: 右击项目解决方案, 选择:重定 ...
- eclipse-java-2018-09-win32-x86_64配置tomcat(内含更新eclipse,如何解决添加时找不到最新tomcat版本)
我下的是eclipse精简版,建议下载企业版,可以省略后面的很多步骤(其中的辛酸...) 这里就是说明下载精简版的eclipse如何配置tomcat的步骤,其实还是更新eclipse的步骤 1.首先点 ...
- 如何找出Xcode中不同版本Swift的路径
我们知道Xcode中可能包含不知一个Swift的版本,那么我们如何找到它们对应的路径呢? 熟悉unix shell命令的童鞋都知道有一个find指令,在我们已知Xcode路径时,我们可以在其中找到Sw ...
- 找不到xml、找不到类
解决java.lang.ClassNotFoundException 解决 java.io.FileNotFoundException: class path resource [xxx.xml] ...
- Flash Builder 4.6 找不到所需的Adobe Flash Player
问题: 安装完Flash Builder 4.6 ,第一次运行项目,出现如下错误提示: “Flash Builder 找不到所需版本的 Adobe Flash Player.您可能需要安装该版本的 F ...
- pip命令出现了问题,提示说找不到ssl模块
Could not find a version that satisfies the requirement pygame (from versions: ) No matching distrib ...
- FlashBuilder找不到所需要的AdobeFlashPlayer调试器版本的解决方案
这个问题就是因为你所装的FlashPlayer不是调试器版本.如果你的FlashPlayer是调试版,那么你随便打开一个有Flash的页面,然后右键点击Flash,就会有一个调试器,菜单,当然它现在是 ...
- python pip 安装一些包找不到的问题 Could not find a version that satisfies....
有时我们使用下载python 自带的pip 安装一些工具包时,会报如下错误 找不到满意的版本,这时就是我们的pip可能需要升级了,所以使用 python -m pip install --upgrad ...
- CMake工程找不到相应的cuDNN版本的问题
(1) 去官网下载相应的版本,因为电脑之前安装的是 CUDA8. ,找跟 CUDA 版本兼容的 cuDNN 下载即可,我选择的是 cuDNN v7.(Deb) 和 cuDNN v7.1.4 Deve ...
随机推荐
- 力扣算法题—144Binary Tree Preorder Traversal
Given a binary tree, return the preorder traversal of its nodes' values. Example: Input: [1,null,2,3 ...
- PHP中global与$GLOBALS的区别
单一个global是一个关键字,通常附加在变量前,用于将变量声明至全局作用域: $GLOBALS是预定义的超全局变量,把变量扔到里边的话一样可以带到全局去. $GLOBALS 是一个关联数组,每一个变 ...
- 2019秋季学期第2周Java学习总结
本周在第一周接触认识Java后对该编程语言有了进一步了解,明白了Java的类型:包括Application程序,Applet程序.知道了一个Java程序的关键字(public class).主方法(p ...
- adb 常用命令大全
adb 常用命令大全 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd ...
- 知识点整理01- 引用对象被子方法赋值后不改变;CheckBox 取消选择不可用问题
1. Class 实体是引用类型,但传入方法时是null的情况在子方法中不论怎么赋值当 FirstService.SetPerson(person,ref tempMsg); 执行后Person都是n ...
- swapon, swapoff - 使用/关闭用于分页和交换的文件和设备
总览 (SYNOPSIS) /sbin/swapon [-h -V] /sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ...
- 2019南昌邀请赛预选赛 I. Max answer (前缀和+单调栈)
题目:https://nanti.jisuanke.com/t/38228 这题题解参考网上大佬的. 程序的L[i],R[i]代表a[i]这个点的值在区间 [L[i],R[i]] 中最小的并且能拓展到 ...
- Java的安全性如何理解
Java取消了强大但又危险的指针,而代之以引用.由于指针可进行移动运算,指针可随便指向一个内存区域,而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占 ...
- mysql 100%占用的解决
早上客户反应,其网站无法访问,无限转圈 上服务器,查看磁盘空间df -h,内存使用率free -m,网络流量iftop均正常 然后使用top查看时,发现mysql的cpu使用率上升到200%. 解决过 ...
- PHP创建多级目录文件夹
PHP创建多级目录的代码实例如下: <?php function create_dir($dirName) { // 去除输入目录名中的空格部分 $dirName = trim($dirName ...