/*select语句有6大子句:

(1)from子句

(2)where子句

(3)group by子句

(4)having子句

(5)order by子句

(6)limit子句

强调:每一个select的6大子句的顺序是(1)-(6)

(1)from子句,后面跟表,视图,多行多列的二维表的结构

from意思从哪里筛选数据

(2)where子句:后面跟条件

where意思取那几行,要哪些行

(3)group by:后面跟字段

group by意思是分组

select 结果字段列表

from 表名称

where 条件

group by 分组字段列表;

要求: 结果字段列表中不要出现和分组无关的字段

(4)having:后面跟条件

having:意味着在分组统计结果中再次对统计结果加条件,不是对原表中的记录加条件

having和where的区别:

①where后面不能跟分组函数,having后面可以

②where是用于在原表的记录中筛选,having可以是对原表的筛选,但是更多的是用于对统计结果再加条件

(5)order by:后面跟字段或表达式

order by:排序

升序:省略asc或加asc

降序:desc

(6)limit:取几条记录

limit m,n

m表示从第几天记录开始取,n表示最多取n条件

通常用于分页查询*/#查询每个部门的人数SELECT did,COUNT(*)FROMt_employeeGROUP BYdid/*以下代码,语法不报错,但是语义有问题

建议、要求:分组查询的结果的字段列表中不要出现和分组无关的字段*/

SELECT ename,did,COUNT(*)FROMt_employeeGROUP BYdid

#查询每个部门的平均薪资SELECT did,AVG(salary)FROMt_employeeGROUP BYdid;

#查询每个部门的最高薪资SELECT did,MAX(salary)FROMt_employeeGROUP BYdid;

#查询每一个部门的男、女的最高薪资SELECT did,gender,MAX(salary)FROMt_employeeGROUP BYdid,gender;

#查询每一个部门的男、女的人数SELECT did,gender,COUNT(salary)FROMt_employeeGROUP BYdid,gender;

#查询每一个部门的薪资高于15000的员工的人数SELECT did,COUNT(*)FROMt_employeeWHERE salary > 15000

GROUP BYdid;

#having#查询每个部门的人数,只显示部门人数超过10人的/*select did,count(*)

from t_employee

where COUNT(*) > 10

group by did;

错误代码: 1111

Invalid use of group function*/

SELECT did,COUNT(*)FROMt_employeeGROUP BYdidHAVING COUNT(*) > 10#查询每个部门的男员工的人数,只显示人数超过2人SELECT did,COUNT(*)FROMt_employeeWHERE gender = '男'

GROUP BYdidHAVING COUNT(*) > 2#查询员工姓名和薪资,按照薪资的降序排列SELECTename,salaryFROMt_employeeORDER BY salary DESC#查询每个部门的员工的人数,按照人数的升序排列SELECT did,COUNT(*)FROMt_employeeGROUP BYdidORDER BY COUNT(*) ASC#查询每个部门的员工的人数,按照人数的升序排列,如果人数相同,按照did降序排列SELECT did,COUNT(*)FROMt_employeeGROUP BYdidORDER BY COUNT(*) ASC, did DESC#查询每个部门的男员工的人数,按照部门编号降序排列SELECT did,COUNT(*)FROMt_employeeWHERE gender = '男'

GROUP BYdidORDER BY did DESC#查询每个部门的男员工的人数,按照部门编号降序排列,显示人数超过1人SELECT did,COUNT(*)FROMt_employeeWHERE gender = '男'

GROUP BYdidHAVING COUNT(*)>1

ORDER BY did DESC

/*limit m,n

m:从第几条开始,第一条,用0表示

n:最多取n条

假设page代表第几页,nums代表每页显示的数量

limit (page-1)*nums ,nums

每页显示10条,第1页 limit (1-1)*10,10 -> limit 0,10

每页显示10条,第2页 limit (2-1)*10,10 -> limit 10,10

每页显示10条,第3页 limit (3-1)*10,10 -> limit 20,10

问?每页显示25条,第5页

limit (5-1)*25, 25*/#查询员工表的员工信息,每页显示10条,第1页SELECT *

FROMt_employee

LIMIT0,10#查询员工表的员工信息,每页显示10条,第2页SELECT *

FROMt_employee

LIMIT10,10#查询员工表的员工信息,每页显示10条,第1页SELECT *

FROMt_employee

LIMIT20,10

mysql字符串外键约束_MySQL中的约束函数主外键相关推荐

  1. mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解...

    (1)创建数据库 CREATE DATABASES 数据库名; (2)选择数据库 USE 数据库名; (3)删除数据库 DROP DATAVBASE 数据库名; (4)创建表 CREATE TABLE ...

  2. mysql取消外码约束_MySQL 关闭子表的外键约束检察方法

    准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary k ...

  3. mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天只做了一件事情,但解决了很大的问题.相信这也是令很多程序员和数据库管理员头疼的事情. 假设在一MySQL数据表中,自增的字段为id,唯一字段为abc, ...

  4. oracle查看外键约束哪个字段,oracle 查看主外键约束(转)

    oracle 查看主外键约束(转) 上一篇 / 下一篇  2011-07-05 17:37:49 / 个人分类:数据库 select a.constraint_name, a.table_name, ...

  5. mysql一对一外键约束_MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表...

    我们在同一数据库创建的表时候,很多时候会出现相同数据的冗余问题,也就是说几个id会有一个或者同n个相同字段,这样就导致数据表结构数据重复冗余, 冗余还无所谓,关键是如果我要改其中一个相同的字段信息,其 ...

  6. mysql复合主键优缺点_MySQL中的复合主键性能缺陷

    INSERT 和 UPDATE 性能变化很小: (INT) 和 (INT, INT) 键几乎相同 . SELECT 复合 PRIMARY KEY 的性能取决于很多因素 . 如果您的表是 InnoDB ...

  7. 使用mysql创建外键约束_Mysql创建外键约束的两种方式

    通过给mysql的表字段添加外键约束,可以有效的保持数据的一致性和完整性,数据就不会很容易出问题. 1.创建表时直接创建外键约束create table books( bookid number(10 ...

  8. restrict 外键约束_MySQL:外键约束(CASCADE,RESTRICT,NO ACTION)

    MySQL有两种常用的引擎类型:MyISAM和InnoDB.目前只有InnoDB引擎类型支持外键约束. 外键的使用需要满足下列的条件: 两张表必须都是InnoDB表,并且它们没有临时表. 建立外键关系 ...

  9. mysql创建主键约束_mysql建表键约束(主键约束,自增约束)

    -- 主键约束: id int primary key 可以唯一确定一张表中的一条记录,也就是通过给某个字段添加约束,就可以使得字段不重复且不为空. create table date ( id in ...

最新文章

  1. Python Twisted系列教程16:Twisted 进程守护
  2. TCP分段与IP分片
  3. 正则表达式限制文本框只能输入数字,小数点,英文字母,汉字
  4. 理解bootstrap的列偏移offset 和 推拉push/pull的区别?
  5. oracle11g memory_target,oracle11g MEMORY_MAX_TARGET设置成0 问题处理
  6. Dojo学习笔记(一):Hello Dojo!
  7. oracle学习笔记(十三) 查询练习(三) 子查询查询
  8. 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
  9. Zipkin-1.19.0学习系列13: Brave-Web-Filter的filter机制分析
  10. java项目实战 学生信息管理系统(UI界面+连接数据库)
  11. 西门子V90电机数字量输出(DO)接倍福数字量输入模块
  12. Linux网络编程8——线程池模型
  13. sketch如何做设计稿交互_用 Sketch 绘制一份美观的交互稿
  14. 空气净化器什么牌子好,家用空气净化器哪个牌子好推荐
  15. Ubuntu出现device not managed 如何解决?
  16. 数量遗传学 第三章 Hardy -Weinberg Weinberg 法则及应用
  17. oracle11g連不上em,oracle11gem重建失败的几点解决办法.doc
  18. c语言九三字符串的字母个数,C语言判断闰年和平年
  19. shopify 二次开发 如何创建定制产品,如何让用户写入定制内容
  20. GUI编程--PyQt5--QWidget

热门文章

  1. iframe 自动适应高和宽问题 和 其他Frame操作技巧
  2. HTML5 监听当前位置
  3. 提升对ASP.NET网站性能和多并发的设计的讨论
  4. 工作中InnoDB引擎数据库主从复制同步心得
  5. 优化数据库的方法及SQL语句优化的原则
  6. 从今天开始,自己做SEO。
  7. iOS 不同机型屏幕适配
  8. django搭建示例-ubantu环境
  9. Word 2013无法发布文章到博客园
  10. SpringMVC4.x源码分析(五):request请求寻址HandlerMethod原理