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

网站建设项目的摘要网站如何设置关键词

网站建设项目的摘要,网站如何设置关键词,济宁正德网站建设,网站建设力度不够论文子查询引入 查询的基本结构已经给大家了,子查询里面也是有一些新的内容,子查询其实就是在查询中嵌套另一个查询,叫嵌套查询可能大家更容易理解一点..,类似与FOR循环和FOR循环的嵌套,这一章是我们查询的最难的部分,大家 难度是查询的顶峰,多表查询和子查询是非常重要,SQL优化里…子查询引入 查询的基本结构已经给大家了,子查询里面也是有一些新的内容,子查询其实就是在查询中嵌套另一个查询,叫嵌套查询可能大家更容易理解一点..,类似与FOR循环和FOR循环的嵌套,这一章是我们查询的最难的部分,大家 难度是查询的顶峰,多表查询和子查询是非常重要,SQL优化里面主要还是针对查询的优化. 子查询是mysql4.1里面引入的,现在java用的比较多的是8.0,数据库和java企业都没有动力去更新,我们讲课的向下兼容的,虽然现在是8.0,但是讲的还是会涉及,当我们现在有一个需求,查询谁的工资比a高,所以我们要先查询abel的工资,然后再把这个工资放入查询条件中进行查询. 首先我们看到了这个需求,谁的工资比abel高,我们如何不用子查询来进行. SELECT last_name,salary FROM employees WHERE last_name’abel’ 我们可以看到abel工资的11000,我们现在就查询工资比11000高就行. 我们要和数据库服务器进行2次交互,效率肯定是比较低的,我们就像能不能用一条语句来进行.我们是不是可以用自连接来进行 SELECT T1.last_name,T1.salary FROM employees T1 JOIN employees T2 ON T1.salaryT2.salary AND T2.last_nameabel 这时我们利用自连接,把所有工资比abel高的字段筛选出来. 方式2自连接肯定要比方式1块 1虽然这个条件可以用多表查询,但是其他类似的条件就不能用自连接 2:这个不容易想出来,不够直观 那么我们就可以引入子查询 子查询介绍 我们先写WHERE条件,因为这个条件不是一个值,我们需要用另一个查询才能查询出来,所以我们直接把查询条件改成另一个查询结构SELECT last_name,salary FROM employees WHERE salary( SELECT salary FROM employees WHERE last_nameabel) 注意这里的查询条件只能出现一个值.由一个问题需求引入一个查询 首先我们谈谈一个名称,一个称谓,子查询包括了外查询,和内查询. 外面的查询就叫外查询,里面的就叫内查询,这是相对的叫法. 外查询也被叫做主查询,内查询也被叫子查询. 接下来我们看看有什么具体的要求, 1子查询是在主查询之前一次查询, 2子查询的结果被外查询使用 注意事项 1:子查询要被括号包裹,由于子查询比较复杂,用括号包裹会比较清晰 2子查询要放在比较条件的右侧 Ps,就是在比较符号的后面,如果在前面就是这样 SELECT last_name,salary FROM employees WHERE ( SELECT salary FROM employees WHERE last_nameabel)salary 我们会发现这样也行,但是为什么要这样呢,我们这是为了可读性和美观的考虑.头短尾长比较好. 3.单行操作费对应单行子查询,多行操作符对应多行子查询. 子查询分类 分类可以从不同的角度去分,第一个角度, 角度1: 出多个结果或者一个结 单行子查询,, 查询之后出一个结果的就是单行子查询 多行子查询 查询之后出多个结果的就是单行子查询 角度2内查询是否被执行多次 相关查询: 比如我们需要查询部门工资大于本部门平均工资的员工信息 里面的子查询会因为外查询记录部门的不同返回的值而改变.也就是返回不同的平均值. 比如白和白生的就是黑的, 不相关查询 比如需求我们要查询工资大于公司的平均工资的员工. 里面的子查询,或者说内查询条件,不会跟随外查询记录的改变而改变, 这里的就说清楚了,因为我们的子查询语句比较多,所以要写的行数也比较多,所以我们先做一个分类,我们下面要讲的就是单行子查询和多行子查询的案例. 我会把这两个查询的范围都限制在不相关子查询内容,所以下面的相关子查询把这个难度就调高起来 趁热打铁开始吧 也就是里面只有一个数据供我们外部使用, 子查询的编写技巧: 1从里往外写 2从外往里写 单行子查询 单行子查询操作符号 ! 也就是我们之前的逻辑操作符号 情况1 ”查询工资大于149号员工工资的员工信息 由于我们不知道149号员工的工资,我们就要进行子查询.” 这里因为比较简单,所以我们技巧1和技巧2都可以 我们就先写子查询 SELECT employee_id FROM employees WHERE employee_id149 再写外查询 没问题,我们就查询出来了 题目2返回job_id与141号员工相同,salary比143员工多的员工姓名 SELECT employee_id,job_id,salary FROM employees WHERE job_id( SELECT job_id FROM employees WHERE employee_id141) AND salary( SELECT salary FROM employees WHERE employee_id143) 如果我们看见了一个查询语句,我们可以把这个语句转换为中文吗,也就是要看出这个查询语句来看出它的需求.这个能力也要有,我们现在主要是做需求. 题目返回公司工资最少的员工last_name,job_id和salary SELECT last_name,job_id,salary FROM employees WHERE salary( SELECT MIN(salary) FROM employees) 注意这里可能是好几个员工,但是还是单行子查询,因为我们内查询只返回一条记录 情况2 查询与141号员工的manager_id和department_id相同的其他员工的employee_id,manager_id,department_id 我们先不用理过滤条件,查询其他员工的 employee_id,manager_id,department_id还是会写的把,我们就先写外查询 SELECT employee_id,manager_id,department_id FROM employees WHERE 然后补充内查询 SELECT employee_id,manager_id,department_id FROM employees WHERE manager_id ( SELECT manager_id FROM employees WHERE employee_id141) AND department_id ( SELECT department_id FROM employees WHERE employee_id141) 这是方式1: 方式1成对子查询 我们还有一个方式2,可以一次性把两个字段条件写在一起 SELECT employee_id,manager_id,department_id FROM employees WHERE (manager_id,department_id) ( SELECT manager_id,department_id FROM employees WHERE employee_id141) 结果是一致的,这叫我们的成对子查询.效率上差别不大,上面的适用性比较高,所以这个不会写也没事,了解就可以了.适用场景太窄了 情况3,HAVING中的子查询 题目:查询最低工资大于50号部门最低工资的 部门id和其最低工资 SELECT MIN(salary) SELECT department_id,MIN(salary) FROM employees GROUP BY department_id HAVING MIN(salary)( SELECT MIN(salary) FROM employees WHERE department_id50) 因为五十号部门工资是不确定的,所以我们要用到子查询 这里不行要空值我们就可以用外查询WHERE筛选掉 SELECT department_id,MIN(salary) FROM employees WHERE department_id IS NOT NULL GROUP BY department_id HAVING MIN(salary)( SELECT MIN(salary) FROM employees WHERE department_id50) 所以我们HAVING中我们也可以使用子查询 情况4:CASE中的子查询 显示员工的employee_id,last_name和location.其中若员工department_id与location_id为1800的department_id相同则location为canada,其余为USA 这里我们还是先写外查询再写内查询, SELECT employee_id,last_name,( CASE department_id WHEN ( SELECT department_id FROM departments JOIN locations T3 ON T3.location_iddepartments.location_id WHERE T3.location_id1800) THEN canada ELSE USA END ) location FROM employees 情况5:子查询中的空值问题. 如果子查询的结果是空值,那么不会报错,返回的会是一个空表比如下面这种情况 SELECT last_name,job_id FROM employees WHERE job_id(SELECT job_id FROM employees WHERE last_name102) 情况6:非法使用子查询 如果我们用单行操作符进行多行操作,会出现什么情况 这时会直接报错 下期介绍 如果多行子查询我们就应该用多行操作符号,IN或者BETWEEN.
http://www.hkea.cn/news/14558221/

相关文章:

  • 小红书 wordpressseo外包公司一般费用是多少
  • 网站服务器类型查询做seo网站要多少钱
  • 能用二级域名做网站吗网页设计周记26篇300字
  • 金融公司网站建设模板下载嘟嘟嘟在线观看播放免费
  • 北京网站推广seo优化如何弄自己的网站
  • 上传网站中国十大进出口公司排名
  • 江西省建设厅教育网站上查询只做旧房翻新的装修公司
  • 平面素材网站排名网站建设和管理心得
  • 学做馒头面包哪个网站好广州专业做网站的科技公司
  • 西部虚拟主机网站后台不能访问wordpress自定义登录页
  • 单位网站建设申请seo流程
  • 上海紫博蓝网站文昌市住房和城乡建设局网站
  • 亦庄做网站天津网站建设电焊机
  • 网站建设基本流程包括成都旅游必去景点
  • 云服务器建设网站阿里巴巴 网站 建设
  • wap手机网站建设东莞seo推广机构帖子
  • 怎么做网站加盟网络营销工具
  • 商丘企业做网站网推和地推的区别
  • 湖州城市投资建设集团网站html制作旅游景点网页
  • 上海快速建设网站公司查询公司水利平台网站
  • 苏州网站推广优化wordpress调用文章发布时间
  • 个人做财经类网站网站开发 软件
  • 西安好的网站建设公司seo优化首页
  • 如今做哪些网站能致富整合网络营销
  • 贵阳市做网站公司宜昌电子商城网站建设
  • 建设一个公司的网站需要多少钱江苏省建是国企吗
  • 苏州市高新区建设局网站有域名的话怎么做网站
  • 厦门seo网站管理河北手机网站制作企业
  • 知名排版网站电商网站
  • 自己的网站发文章怎么做外链做网站搞流量挂联盟广告变现