sql分组

MySQL单标查询

我们两清 提交于 2019-11-28 17:28:41
单表查询的语法及关键字执行的优先级 单表查询语法 SELECT DISTINCT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 关键字执行的优先级 from where group by select distinct having order by limit 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4.执行select(去重) 5.将分组的结果进行having过滤 6.将结果按条件排序:order by 7.限制结果的显示条数 简单查询 company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职日期 hire_date date 岗位 post varchar 职位描述 post_comment varchar 薪水 salary double 办公室 office int 部门编号 depart_id int #创建表 create table employee( id int not null unique auto_increment,

MySQL表的CRUD及多表查询

南笙酒味 提交于 2019-11-28 16:42:44
数据库表的增删改查操作:     增 、 删 、 改   查:      单表查询        简单查询 、 where约束 、 group by分组 、 聚合查询 、 having过滤 、 order by排序 、 limit限制 、 正则匹配      多表查询        连表查询 : 交叉查询 、 >內连查询 、 左外连接查询 、 右外连接查询 、 全外链接查询 、 连接结果筛选查询                 子查询  : 带关键字in的子查询 、 带比较运算符的子查询 、 带关键字exists的布尔判断结果查询   表记录增删改总结: MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及。    #增insert into: (1)单条插入 insert into 表名 value(值1,值2,...); (2)多条插入 insert into 表名 values(值1,值2,...),(值1,值2,...),...; (3)指定字段插入 insert into 表名(字段1,字段2,字段3,...) values(值1,值2,值3,...); (4)查询结果插入 insert into

【MySQL】单表查询

删除回忆录丶 提交于 2019-11-28 15:21:49
原文: http://blog.gqylpy.com/gqy/251 目录 where 约束 group by 分组查询 聚合函数 having 过滤 order by 查询排序 limit 限制查询的记录数 # 语法select 字段1, 字段2 ... from 表名 where 条件 group by field having 筛选 order by field limit 限制条数 重点在于关键字的执行优先级: from where group by having select distinct order by limit 1. 找到表:from 2. 拿着where指定的约束条件,去文件(表)中取出一条条记录 3. 将取出的一条条记录进行分组group by,如果没有group by, 则整体作为一组 4. 将分组的结果进行having过滤 5. 执行select 6. 去重 7. 将结果按条件排序:order by 8. 限制结果的显示条数 company.employee 员工id id int 姓名 name varchar 性别 sex enum 年龄 age int 入职日期 hire_date date 岗位 post varchar 职位描述 post_comment     varchar 薪水 salary     double 办公室 office

MySQL-单表查询

一曲冷凌霜 提交于 2019-11-28 13:17:50
1.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 2.关键字的执行优先级(重点) 重点中的重点:关键字的执行优先级 from where group by having select distinct order by limit 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4.将分组的结果进行having过滤 5.执行select 6.去重 7.将结果按条件排序:order by 8.限制结果的显示条数 3.简单查询 company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职日期 hire_date date 岗位 post varchar 职位描述 post_comment varchar 薪水 salary double 办公室 office int 部门编号 depart_id int # 创建表 create table employee( id int not null unique auto_increment,

数据库知识回顾

你。 提交于 2019-11-28 12:57:38
数据库 知识回顾: sql语句的语法规范: sql语句不区分大小写,习惯上系统的保留字、关键字、函数名称大写,表名和列名小写 使用空格和换行分隔单词效果一样,一般情况下独立的整句不换行, 不同的子句需要换行,where子句中每个条件占一行 sql语句以分号作为分隔符,系统读取到分号才会执行语句 复杂的sql可以加上注释予以说明 --单行注释 /* 多行注释 多行注释 */ /* select 列名1,列名2,……列名n 定义查询数据所在的列 from 表1,表2,……表n 定义查询数据所在的表 where 限定条件1 and/or 限定条件2…… 定义查询数据的范围(行) group by 列名1,列名2,……列名n 定义分组函数的分组方式 having 分组条件1 and/or 分组条件2…… 定义查询数据的分组条件 order by 列名1 asc/desc,列名2 asc/desc,……列名n asc/desc 定义查询数据的排序方式 */ 1. 单 行函数 1) 字符函数:大小写转换,字符截取,空值判断 …… 2) 数字函数:向下取整,取余,四舍五入、截取 3) 日期函数:日期运算、加月份、当月最后一天、下一个星期几、系统时间 4) 转换函数:日期和字符之间的转换,数字转换字符 5) Decode 函数:对不同的值给予不同的结果 6) 函数嵌套

【MySQL】单表查询

我们两清 提交于 2019-11-28 07:53:02
原文: http://blog.gqylpy.com/gqy/251 目录 where 约束 group by 分组查询 聚合函数 having 过滤 order by 查询排序 limit 限制查询的记录数 # 语法select 字段1, 字段2 ... from 表名 where 条件 group by field having 筛选 order by field limit 限制条数 重点在于关键字的执行优先级: from where group by having select distinct order by limit 1. 找到表:from 2. 拿着where指定的约束条件,去文件(表)中取出一条条记录 3. 将取出的一条条记录进行分组group by,如果没有group by, 则整体作为一组 4. 将分组的结果进行having过滤 5. 执行select 6. 去重 7. 将结果按条件排序:order by 8. 限制结果的显示条数 company.employee 员工id id int 姓名 name varchar 性别 sex enum 年龄 age int 入职日期 hire_date date 岗位 post varchar 职位描述 post_comment     varchar 薪水 salary     double 办公室 office

SQL语言基础

*爱你&永不变心* 提交于 2019-11-28 04:43:26
一、数据库概述 数据库(DataBase,DB) :指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。(文件系统) 数据库管理系统(DataBase Management System,DBMS) :指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。 数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。 数据库:存储、维护和管理数据的集合。 数据库中一行记录与对象之间的关系。 列:字段 行:一条记录(实体) 二、sql概述 SQL:Structure Query Language。(结构化查询语言) SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。 各数据库厂商都支持ISO的SQL标准。————普通话 各数据库厂商在标准的基础上做了自己的扩展。————方言 在SQL里只有单引号,没有双引号的概念 三、sql的分类 DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; 【CREATE、 ALTER、DROP】 DML(Data Manipulation Language)

基本查询语句和方法,连表,子查询

廉价感情. 提交于 2019-11-28 04:15:29
基本查询语句及方法   from, where, group by, having, distinct, order by, limit 连表   inner join, left join, right join, union 书写顺序   select id,name from emp where id > 3 and id < 6; 执行顺序   from # 确定到底是哪张表 where # 根据过来条件 筛选数据 select # 拿出筛选出来的数据中的某些字段   select * from emp\G; 当表字段特别多的时候 结果的排版可能会出现混乱的现象 你可以在查询语句加\G来规范查询结果   # 1.查询id大于等于3小于等于6的数据   select * from emp where id >= 3 and id <= 6;   select * from emp where id between 3 and 6;   上述语句完全等价 # 2.查询薪资是20000或者18000或者17000的数据   select id,name from emp where salary = 20000 or salary = 18000 or salary = 17000;   select id,name from emp where salary in (20000

单表查询

北城以北 提交于 2019-11-28 04:12:23
单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', age int(3) unsigned not null default 28, hire_date date not null, post varchar(50), post_comment varchar(100), salary double(15,2), office int, depart_id int ); # 插入数据 # 三个部门:教学,销售,运营 insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values ("jaosn","male",18,"20170301","张江第一帅形象代言",7300.33,404,1), ("egon","male",78,"20150302","teacher",1000000.31,401,1), ("kevin","male",81,"20130305","teacher",8300,401,1), ("tank","male",73,

单表查询,多表查询

北慕城南 提交于 2019-11-28 04:12:11
单表查询   表的基本查询语句     from     where     group by     having     distinct     order by     limit  ​​select * from emp\G;   当表字段特别多的时候 结果的排版可能会出现混乱的现象   你可以在查询语句加\G来规范查询结果    单表查询的前期准备    ​create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', #大部分是男的 age int(3) unsigned not null default 28, hire_date date not null, post varchar(50), post_comment varchar(100), salary double(15,2), office int, #一个部门一个屋子 depart_id int ); 创建表    # 三个部门:教学,销售,运营 insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values (