mysql字符串外键约束_MySQL中的约束函数主外键
/*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中的约束函数主外键相关推荐
- mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解...
(1)创建数据库 CREATE DATABASES 数据库名; (2)选择数据库 USE 数据库名; (3)删除数据库 DROP DATAVBASE 数据库名; (4)创建表 CREATE TABLE ...
- mysql取消外码约束_MySQL 关闭子表的外键约束检察方法
准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary k ...
- mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天只做了一件事情,但解决了很大的问题.相信这也是令很多程序员和数据库管理员头疼的事情. 假设在一MySQL数据表中,自增的字段为id,唯一字段为abc, ...
- oracle查看外键约束哪个字段,oracle 查看主外键约束(转)
oracle 查看主外键约束(转) 上一篇 / 下一篇 2011-07-05 17:37:49 / 个人分类:数据库 select a.constraint_name, a.table_name, ...
- mysql一对一外键约束_MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表...
我们在同一数据库创建的表时候,很多时候会出现相同数据的冗余问题,也就是说几个id会有一个或者同n个相同字段,这样就导致数据表结构数据重复冗余, 冗余还无所谓,关键是如果我要改其中一个相同的字段信息,其 ...
- mysql复合主键优缺点_MySQL中的复合主键性能缺陷
INSERT 和 UPDATE 性能变化很小: (INT) 和 (INT, INT) 键几乎相同 . SELECT 复合 PRIMARY KEY 的性能取决于很多因素 . 如果您的表是 InnoDB ...
- 使用mysql创建外键约束_Mysql创建外键约束的两种方式
通过给mysql的表字段添加外键约束,可以有效的保持数据的一致性和完整性,数据就不会很容易出问题. 1.创建表时直接创建外键约束create table books( bookid number(10 ...
- restrict 外键约束_MySQL:外键约束(CASCADE,RESTRICT,NO ACTION)
MySQL有两种常用的引擎类型:MyISAM和InnoDB.目前只有InnoDB引擎类型支持外键约束. 外键的使用需要满足下列的条件: 两张表必须都是InnoDB表,并且它们没有临时表. 建立外键关系 ...
- mysql创建主键约束_mysql建表键约束(主键约束,自增约束)
-- 主键约束: id int primary key 可以唯一确定一张表中的一条记录,也就是通过给某个字段添加约束,就可以使得字段不重复且不为空. create table date ( id in ...
最新文章
- Python Twisted系列教程16:Twisted 进程守护
- TCP分段与IP分片
- 正则表达式限制文本框只能输入数字,小数点,英文字母,汉字
- 理解bootstrap的列偏移offset 和 推拉push/pull的区别?
- oracle11g memory_target,oracle11g MEMORY_MAX_TARGET设置成0 问题处理
- Dojo学习笔记(一):Hello Dojo!
- oracle学习笔记(十三) 查询练习(三) 子查询查询
- 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
- Zipkin-1.19.0学习系列13: Brave-Web-Filter的filter机制分析
- java项目实战 学生信息管理系统(UI界面+连接数据库)
- 西门子V90电机数字量输出(DO)接倍福数字量输入模块
- Linux网络编程8——线程池模型
- sketch如何做设计稿交互_用 Sketch 绘制一份美观的交互稿
- 空气净化器什么牌子好,家用空气净化器哪个牌子好推荐
- Ubuntu出现device not managed 如何解决?
- 数量遗传学 第三章 Hardy -Weinberg Weinberg 法则及应用
- oracle11g連不上em,oracle11gem重建失败的几点解决办法.doc
- c语言九三字符串的字母个数,C语言判断闰年和平年
- shopify 二次开发 如何创建定制产品,如何让用户写入定制内容
- GUI编程--PyQt5--QWidget