这是<一起找打的约定>的改良版本
-- 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 ...
随机推荐
- Django框架(二十七)—— ContentType组件
目录 ContentType组件 一.什么是ContentType组件 二.使用ContentType 三.使用场景总结 ContentType组件 一.什么是ContentType组件 conten ...
- Cocos2d-x在Windows平台环境的搭建
| 版权声明:本文为博主原创文章,未经博主允许不得转载. windows平台下配置Cocos2d-X引擎所需的压缩文件和可执行文件,如下: 下载链接: adt: http://tools.a ...
- 关于char(M)和varchar(N)的区别
1.int(10)的10表示显示的数据的长度,不是存储数据的大小:chart(10)和varchar(10)的10表示存储数据的大小,即表示存储多少个字符. int(10) 10位的数据长度 9999 ...
- 18-vim-插入命令
在vi中除了常用的i进入编辑模式外,还提供了以下命令同样可以进入编辑模式: 命令 英文 功能 使用频率 i insert 在当前字符前插入文本 常用 I insert 在行首插入文本 较常用 a ap ...
- CF914D
CF914D 用线段树乱搞一下就行qwq #include<iostream> #include<cstring> #include<cstdio> #includ ...
- Spring学习笔记(8)——依赖注入
spring依赖注入使用构造器注入使用属性setter方法注入使用Field注入(用于注解方式) 注入依赖对象可以采用手工装配或自动装配,在实际应用中建议使用手工装配,因为自动装配会产生未知情况,开发 ...
- tar 和gzip 的区别
首先要 弄清两个概念:打包和压缩. 打包是指将一大堆文件或目录什么的变成一个总的文件, 压缩则是将一个大的文件通过一些压缩算法变成一个小文件. 为什么要区分这两个概念呢?其实这源于Linux中的很多压 ...
- Redis 布隆过滤器
1.布隆过滤器 内容参考:https://www.jianshu.com/p/2104d11ee0a2 1.数据结构 布隆过滤器是一个BIT数组,本质上是一个数据,所以可以根据下标快速找数据 2.哈希 ...
- Makefile中的$(addprefix),添加前缀,指定目标生成目录
先给大家看段Makefile的代码吧: INCLUDE_DIR=usr/java/jdk1..0_25/include \ usr/java/jdk1..0_25/include/linux INCL ...
- Java高并发网络编程(二)BIO
一.阻塞 服务器端 public class BIOServer { public static void main(String[] args) throws Exception { ServerS ...