随笔分类 - 数据库
摘要:表结构 内连接 笛卡尔积问题 普通内连接:inner join on 隐式内连接: 外连接 内连接与外连接查询的区别 内连接查询是查询两张表交集的数据,主外键关联的数据。 左连接查询是查询左表中的所有数据和两张表主外键关联的数据。 表结构 内连接查询 左连接查询 右连接查询
阅读全文
摘要:union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序。
阅读全文
摘要:什么是子查询 当一个查询是另一个查询的条件时,称之为子查询。 为什么要使用子查询 在SELECT、INSERT、UPDATE或DELETE命令中只要是表达式的地方都可以包含子查询,子查询甚至可以包含在另外一个子查询中,以便完成更为复杂的查询。 如何使用子查询 使用小括号 注意书写风格 可以使用子查询
阅读全文
摘要:员工表的主要信息: 需求:检索工资大于同职位的平均工资的员工信息。 直觉的做法 员工多,而相应的职位(如销售员、经理、部门经理等)少,因此首先想到的思路是对职位分组,这样就能分别得到各个职位的平均工资,再比较每个人的工资和他对应职位的平均工资,大于平均工资则被筛选出来。 1.首先得到各个职位的平均工
阅读全文
摘要:正常情况下SELECT的书写顺序和执行顺序: 书写顺序: SELECT》FROM 》WHERE》GROUP BY》HAVE》ORDER BY 执行顺序: FROM 》WHERE》GROUP BY》HAVE》SELECT》ORDER BY 以下以Product表为例: 执行以下代码说明执行过程: SE
阅读全文
摘要:需求: 先将记录先按照last_time由大到小排序,再last_time值相同的条件下按照id值由大到小排列 错误方式:order by last_time and id desc, 这种方式两个字段都是降序的 (and隔开哪个,第二个参数不起作用。) 正确方式:order by last_tim
阅读全文
摘要:having子句与where都是设定条件筛选的语句,有相似之处也有区别。 having与where的区别: having是在分组后对数据进行过滤 where是在分组前对数据进行过滤 having后面可以使用聚合函数 where后面不可以使用聚合 在查询过程中执行顺序:from>where>group
阅读全文
摘要:知道group by是进行分组查询,但是一直觉得对其理解得不够透彻,在网上扒了一篇文章,我认为写得非常好。 为什么不能够select * from Table group by id,为什么一定不能是*,而是某一个列或者某个列的聚合函数,group by 多个字段可以怎么去很好的理解呢? 先来看下表
阅读全文
摘要:数据结构说明 已知有如下4张表: 学生表:student(学号,学生姓名,出生年月,性别) 成绩表:score(学号,课程号,成绩) 课程表:course(课程号,课程名称,教师号) 教师表:teacher(教师号,教师姓名) 准备练习数据 1)创建学生表(student) CREATE TABLE
阅读全文
摘要:使用navicat创建mysql数据库 填写数据库名称、选择字符集、选择排序规则 使用 create 命令创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; [root@host]# mysql -u root
阅读全文
摘要:win10中cmd连接mysql提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) pycharm连接提示:pymysql.err.OperationalError: (1045
阅读全文

浙公网安备 33010602011771号