当前位置: 首页 > news >正文

个人网站 wordpress变装小说 wordpress

个人网站 wordpress,变装小说 wordpress,代做网站怎么进行域名备案,app网站多少钱简单的查询语句#xff08;DQL#xff09; 下面我们正式来学习查询语句#xff0c;下面所有查询用到的表均为前面提到的三张表#xff1a; 员工表中的数据#xff1a; 部门表中的数据#xff1a; 薪资表中的数据#xff1a; 基本查询语句的语法#xff1a; sele…简单的查询语句DQL 下面我们正式来学习查询语句下面所有查询用到的表均为前面提到的三张表 员工表中的数据 部门表中的数据 薪资表中的数据 基本查询语句的语法 select 字段 from 表名;1.查询员工的年薪字段可以参与数学运算。 select ename,sal * 12 as 年薪 from emp; //其中as可以省略注意标准sql语句中要求字符串使用单引号括起来。虽然mysql支持双引号尽量别用 条件查询语句的语法 select 3字段 from 1表名 where 2条件;执行顺序先from然后where最后select 1.查询工资等于5000的员工姓名 select ename from emp where sal 5000;2.查询SMITH的工资 select sal from emp where ename SMITH; // 字符串使用单引号括起来。3.找出工资高于3000的员工 select ename,sal from emp where sal 3000;select ename,sal from emp where sal 3000;select ename,sal from emp where sal 3000;select ename,sal from emp where sal 3000;4.找出工资不等于3000的 select ename,sal from emp where sal 3000; select ename,sal from emp where sal ! 3000;5.找出工资在1100和3000之间的员工包括1100和3000 select ename,sal from emp where sal 1100 and sal 3000;select ename,sal from emp where sal between 1100 and 3000; // between...and...是闭区间 [1100 ~ 3000]select ename,sal from emp where sal between 3000 and 1100; // 查询不到任何数据注意 between and在使用的时候必须左小右大。between and除了可以使用在数字方面之外还可以使用在字符串方面。 select ename from emp where ename between A and C; select ename from emp where ename between A and D; // 闭区间。6.找出哪些人津贴为NULL 在数据库当中NULL不是一个值代表什么也没有为空。 空不是一个值不能用等号衡量。 必须使用 is null或者is not null select ename,sal,comm from emp where comm is null;select ename,sal,comm from emp where comm null; //结果Empty set (0.00 sec)7.找出哪些人津贴不为NULL select ename,sal,comm from emp where comm is not null;8.找出哪些人没有津贴 select ename,sal,comm from emp where comm is null or comm 0;9.找出工作岗位是MANAGER和SALESMAN的员工 select ename,job from emp where job MANAGER or job SALESMAN;10.and和or联合起来用找出薪资大于1000的并且部门编号是20或30部门的员工。 select ename,sal,deptno from emp where sal 1000 and deptno 20 or deptno 30; // 错误的 select ename,sal,deptno from emp where sal 1000 and (deptno 20 or deptno 30); // 正确的。注意当运算符的优先级不确定的时候加小括号。 11.in等同于or找出工作岗位是MANAGER和SALESMAN的员工 select ename,job from emp where job SALESMAN or job MANAGER; select ename,job from emp where job in(SALESMAN, MANAGER); select ename,job from emp where sal in(800, 5000); // in后面的值不是区间是具体的值。13.not in: 不在这几个值当中。 select ename,job from emp where sal not in(800, 5000);模糊查询like 14.找出名字当中含有O的 在模糊查询当中必须掌握两个特殊的符号一个是%一个是_ 注意%代表任意多个字符_代表任意1个字符。 select ename from emp where ename like %O%;15.找出名字中第二个字母是A的 select ename from emp where ename like _A%;16.找出名字中有下划线的 新创建的表t_user select name from t_user where name like %\_%; // 当用到%和_时需要转译“\”注意当查询的记录中包含%和_时需要转译“\” 17.找出名字中最后一个字母是T的 select ename from emp where ename like %T;排序查询升序、降序默认升序 排序查询格式语法 select字段 from表名 where条件 order by字段;1.按照薪资升序找出员工姓名和薪资 select ename,sal from emp order by sal; //默认升序 select ename,sal from emp order by sal asc; //指定升序 select ename,sal from emp order by sal desc; //指定降序2.按照工资降序排列当工资相同按照名字升序排列 select ename,sal from emp order by sal desc , ename asc;注意越靠前的字段越能起到主导作用。只有当前面的字段无法完成排序的时候才会启用后面的字段。 3.找出工作岗位是SALESMAN的员工并且要求按照薪资的降序排列。 select ename,job,sal fromemp where job SALESMAN order bysal desc;分组函数/聚合函数/多行函数自动忽略null 分组函数通常与group by 联合使用(having) count 计数sum 求和avg 平均值max 最大值min 最小值 记住所有的分组函数都是对“某一组”数据进行操作的。 找出工资总和select sum(sal) from emp; 找出最高工资select max(sal) from emp; 找出最低工资select min(sal) from emp; 找出平均工资select avg(sal) from emp; 找出总人数select count(*) from emp;select count(ename) from emp;分组函数的特点 分组函数一共5个。分组函数还有另一个名字多行处理函数。多行处理函数的特点输入多行最终输出的结果是1行。分组函数自动忽略NULL。 select sum(comm) from emp; select sum(comm) from emp where comm is not null; // 不需要额外添加这个过滤条件。sum函数自动忽略1.找出工资高于平均工资的员工 select ename,sal from emp where sal avg(sal); //报错//报错ERROR 1111 (HY000): Invalid use of group function 原因SQL语句当中有一个语法规则分组函数不可直接使用在where子句当中。 正确方法 select ename,sal from emp where sal (select avg(sal) from emp);怎么解释因为group by是在where执行之后才会执行的。就是说都还没分组你怎么就执行分组函数呢 并且任何一个分组函数count sum avg max min都是在group by语句执行结束之后才会执行的。 select 5字段 from 1表名 where 2条件 group by 3分组 having 4二次过滤 order by 6count(*)和count(具体的某个字段)他们有什么区别 count(*):不是统计某个字段中数据的个数而是统计总记录条数。和某个字段无关 count(comm): 表示统计comm字段中不为NULL的数据总数量。 分组函数也能组合起来用 select count(*),sum(sal),avg(sal),max(sal),min(sal) from emp;找出工资高于平均工资的员工 第一步找出平均工资 select avg(sal) from emp;第二步找出高于平均工资的员工 select ename,sal from emp where sal 2073.214286;将它们嵌套起来使用 select ename,sal from emp where sal (select avg(sal) from emp);单行处理函数 什么是单行处理函数:输入一行输出一行。 1.计算每个员工的年薪: select ename,(salcomm)*12 as yearsal from emp;重点所有数据库都是这样规定的只要有NULL参与的运算结果一定是NULL。 2.使用ifnull函数 select ename,(salifnull(comm,0))*12 as yearsal from emp;ifnull() 空处理函数 ifnull(可能含有NULL的字段,被当做什么处理) 属于单行处理函数。 分组查询group by 和 having 分组函数 group by 按照某个字段或者某些字段进行分组。 having : having是对分组之后的数据进行再次过滤。 group by和 having 以及分组函数count、avg、max、min、sum常常搭配使用having不能脱离group by单独使用having就是为group by服务的 1.案例找出每个工作岗位的最高薪资。 select max(sal),job from emp group by job; 注意 分组函数一般都会和group by联合使用这也是为什么它被称为分组函数的原因。并且任何一个分组函数count sum avg max min都是在group by语句执行结束之后才会执行的。当一条sql语句没有group by的话整张表的数据会自成一组。 select ename,max(sal),job from emp group by job; //虽然不报错但是查询结果没意义以上在mysql当中查询结果是有的但是结果没有意义在Oracle数据库当中会报错。语法错误。 Oracle的语法规则比MySQL语法规则严谨 记住一个规则当一条语句中有group by的话select后面只能跟分组函数和参与分组的字段。 2.找出每个部门的最高薪资要求显示大于2900的数据 第一步找出每个部门的最高薪资:select deptno,max(sal) from emp group by deptno; 第二步再找出大于2900的数据select deptno,max(sal) from emp group by deptno having max(sal) 2900;// 这种效率低最佳写法 select deptno,max(sal) from emp where sal 2900 group by deptno; // 这种效率高建议能够使用where过滤的尽量使用wherewhere搞不定的情况 1.找出每个部门的平均薪资要求显示薪资大于2000的数据。 第一步找出每个部门的平均薪资 select deptno,avg(sal) from emp group by deptno; 第二步要求显示薪资大于2000的数据 select deptno,avg(sal) from emp group by deptno having avg(sal) 2000; where后面不能使用分组函数 select deptno,avg(sal) from emp where avg(sal) 2000 group by deptno; // 错误了。这种情况只能使用having过滤。 原因因为avg是分完组后算出来的max不是分完组算出来的 总结DQL语句 select 5字段 from 1表名 where 2条件 group by 3分组 having 4分组二次过滤 order by 6字段;关于查询结果集的去重 关键字distinct 1.查询所有岗位 select distinct job from emp; //distinct 去除重复关键字2.注意distinct的前面不能有字段 select ename distinct job from emp; //报错distinct自能出现在所有字段的最前面如果distinct 后有多个字段表示后面所有字段联合去重。 3.查看每个部门的不同职位 select distinct deptno,job from emp;4.统计岗位的数量 select count(distinct job) from emp;
http://www.sadfv.cn/news/37758/

相关文章:

  • 爱情表白网站制作哪个网站专业做安防
  • 统一门户网站做网站需要多大的空间
  • 厦门自助网站建设报价河北网站建设免费推荐
  • 创造与魔法官方网站做自己网站的经费预算
  • 企业信息查询系统官网山东seo wordpress 主题
  • 有什么网站交互做的很好 知乎网站建设前期团队建设
  • 网站域名怎么填写公司网站怎么做推广
  • 做汽车拆解视频网站扬中潘杰简历
  • 企业网站建设的三个核心问题企业网站首页开发
  • 河北省住建和城乡建设厅网站黄骅港信息贴吧
  • 杭州网站推广技巧大型门户网站建设工作总结
  • 肥乡网站建设python基础教程电子书在线阅读
  • 内蒙网站建设seo优化上海网论坛网址
  • 网站新闻模板可以做100张照片的软件
  • 商务网站建设与维护试卷做水处理药剂的公司网站
  • 可以自己做漫画的网站建网站排名
  • 网站开发资格证书成都设计院
  • 深远互动 网站建设西宁做网站_君博示范
  • 无锡哪里建设网站网站的建设过程
  • 网站建设 定制赣州九一人才网最新招聘
  • 备案价公示网站太原制作手机网站
  • 万户网站制作温州做网站厉害的公司有哪些
  • 卖米网站源码建筑人才网市场
  • 职业教育网站平台建设营销型网站设计论文
  • 网页网站培训班广告公司怎么取名
  • 怎么写网站网站介绍模板
  • 速橙科技有限公司网站建设做空的网站有哪些
  • 如何利用国外网站开发客户jq动画效果网站
  • 长春有什么好的网站制作公司找厂家用什么软件
  • 百度怎么发布网站张家港网站建设早晨设计