连接查询
-- 查询课程名称 和年级的名称
-- 非等值连接查询
SELECT subjectname,gradeName FROM `subject`,grade
-- 等值连接查询
SELECT subjectname,gradeName
FROM `subject`,grade
WHERE subject.gradeId=grade.`GradeID` -- 外连接 左外连接 以左表为准,右表中没有数据 返回null
-- 查询课程名称,课时数还有年级名称
SELECT subjectname,gradeName,classHour
FROM `subject` s LEFT JOIN grade g
ON s.gradeId=g.`GradeID` -- 外连接 右外连接 以右表为准,左表中没有数据 返回null
SELECT subjectname,gradeName,classHour
FROM `subject` s RIGHT JOIN grade g
ON s.gradeId=g.`GradeID` -- 自身连接查询
CREATE TABLE IF NOT EXISTS teacher(
id INT(10), -- 老师自身的编号
`name` VARCHAR(20),
pid INT(10) -- 老师对应的导师编号
) -- 新增教师信息
INSERT INTO teacher
VALUES
(1,'老师1',5),
(2,'老师2',5),
(3,'老师3',5),
(4,'老师4',3),
(5,'老师5',3) -- 查询老师 和对应导师的姓名
SELECT t1.`name` AS '老师姓名', t2.`name` AS '导师姓名'
FROM teacher t1,teacher t2
WHERE t2.id=t1.pid

order by

-- 查询 课程名称是  数据库结构-1 的所有考试成绩和学生的姓名  并且按照成绩降序进行查看
-- order by 排序 默认是升序 asc desc 降序
SELECT subjectName,StudentResult,studentName
FROM `subject`,result,student
WHERE
student.`StudentNo`=result.`StudentNo`
AND
result.`SubjectNo`=subject.`SubjectNo`
AND
subjectName='数据库结构-1'
ORDER BY StudentResult DESC
limit
-- 查询 课程名称是  数据库结构-1 的所有考试成绩和学生的姓名  并且按照成绩降序进行查看
-- order by 排序 默认是升序 asc desc 降序
-- 分页 使用 limit begin,pageSize
-- begin 从那一条数据开始 (当前页码-1)*pageSize
-- pageSize 每页显示的数量
SELECT subjectName,StudentResult,studentName
FROM `subject`,result,student
WHERE
student.`StudentNo`=result.`StudentNo`
AND
result.`SubjectNo`=subject.`SubjectNo`
AND
subjectName='数据库结构-1'
ORDER BY StudentResult DESC
LIMIT 10,5

子查询

-- 子查询   把自身的查询结果 当作 另一条查询语句的条件来使用
-- 查询 课程名称是 数据库结构-1 并且分数不小于80分的学生姓名和学号
SELECT studentName,studentNo
FROM student
WHERE studentNo IN
(SELECT studentNo
FROM result
WHERE
subjectno=(SELECT subjectno FROM SUBJECT WHERE subjectName='数据库结构-1')
AND StudentResult>=80
)

统计函数

--  统计函数
-- count() sum() avg() min() max()
SELECT
COUNT(*) AS 总记录数,
MAX(studentResult) AS 最高分,
MIN(studentResult) AS 最低分,
AVG(studentResult) AS 平均分,
SUM(studentResult) AS 总成绩
FROM result

-- 执行顺序
FROM 表
WHERE 条件
GROUP BY 分组(列)
HAVING 分组的条件
SELECT 查询的内容
ORDER BY

小练习:

有个tb表

字段如下

要求实现的效果

实现代码

SELECT sex AS 性别,COUNT(sex) AS 人数
FROM tb
WHERE sex IS NOT NULL
GROUP BY sex
ORDER BY COUNT(sex) DESC SELECT sex AS 性别,COUNT(sex) AS 人数
FROM tb
WHERE sex IN('男','女')
GROUP BY sex
ORDER BY COUNT(sex) DESC
-- 查询 mysql默认的事务隔离级别
SELECT @@tx_isolation
-- 改变事务隔离级别
SET tx_isolation='Read-committed' -- 开启事务
START TRANSACTION -- 回滚 rollback -- 提交 commit

mysql02的更多相关文章

  1. Java就业班 mysql02

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MYSQL中的表关系分析并能正确建表 昨天内容回顾: ​ 数据库的创建 : create ...

  2. springboot07 mysql02

    多表关系 一.表关系介绍 1. 表之间为什么要有关系 一般来讲,通常都是一张表某一类型数据,比如学生数据存储在学生表,教师数据存储在教师表,学科数据存储在学科表.但是有时候我们需要表示一个学生属于哪一 ...

  3. MySQL-02 数据表管理

    学习要点 数据类型 数据字段属性 数据表的类型及存储位置 索引 数据表对象管理 数据类型 数据库中的数据类型分为字段类型和值类型,定义如下: 在设计数据表字段的时候,字段类型定义为三大类:数值类.字符 ...

  4. 极客mysql02

    mysql 一条更新语句的执行过程: 1.首先客户端通过tcp/ip发送一条sql语句到server层的SQL interface 2.SQL interface接到该请求后,先对该条语句进行解析,验 ...

  5. XtraBackup原理5

    http://www.cnblogs.com/gomysql/p/3650645.html xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有 ...

  6. mysql oracle静默 一键安装脚本

    pre-read; 为了达到一键搞定的目的!现Ruiy简单做如下几小条规定   如果你想这么一键来搞定请君莫要违背约束! 1. 下载 `二进制` mysql软件介质版本不限,二进制包务必,源码及rpm ...

  7. 实战:mysql版本号升级

    /***************************************************** mysql 5.6.19 升级到5.6.21 ********************** ...

  8. Innobackupex全备恢复(原理、演示)

    一.  Innobackupex恢复原理    After creating a backup, the data is not ready to be restored. There might b ...

  9. mysql之 innobackupex备份+binlog日志的完全恢复(命令行执行模式)

    前言:MySQL的完全恢复,我们可以借助于完整的 备份+binlog 来将数据库恢复到故障点.备份可以是热备与逻辑备份(mysqldump),只要备份与binlog是完整的,都可以实现完全恢复. 1. ...

随机推荐

  1. JavaScript中instanceof与typeof运算符的用法及区别详细解析

    JavaScript中的instanceof和typeof常被用来判断一个变量是什么类型的(实例),但它们的使用还是有区别的: typeof 运算符 返回一个用来表示表达式的数据类型的字符串. typ ...

  2. Vim简明教程【CoolShell】(转)

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  3. html5插入视频

  4. java计算一个月有多少天和多少周

    import java.util.Calendar; /** * 功能概述:计算指定年月的天数和周数<br> * 创建时间:2010-5-17 下午05:25:58<br> * ...

  5. mysql中explain优化分析

    效率比较  range >index  > all

  6. Llinux-apache安装

    第四章  构建LAMP网站服务平台 实验报告 1.安装apache服务器软件及相关组件 查看系统中是否安装apache服务相关的软件包: [root@www /]# rpm -qa | grep ht ...

  7. 《FPGA零基础入门到精通视频教程》-第001b讲软件的破解

    高清视频和配套讲义这里下载 http://www.fpgaw.com/thread-68128-1-1.html 优酷视频地址,不是很清楚

  8. H.264 Transform

    变换是视频.图像编码的核心部分.目前所采用的变换算法都是从傅里叶变换演变而来.单纯的变换并不会导致视频(图像)的码率变小,反而会增大.但是非常巧妙的一点是:变换把图像从空域转换成的时域,把由色块组成的 ...

  9. ISO14443协议中,卡片对RATS,PPS,IBLOCK的处理约定

    这几天总是看到有人因为这几条规则没处理好,结果检测时通不过,其实看看最新版的ISO14443协议就明白了. 协议中明确要求几条: 1.在激活状态后,如果收到一个无错的RATS命令后,卡片返回atr,此 ...

  10. BZOJ1642: [Usaco2007 Nov]Milking Time 挤奶时间

    1642: [Usaco2007 Nov]Milking Time 挤奶时间 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 525  Solved: 30 ...