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

电商企业网站建设wordpress汽车模板

电商企业网站建设,wordpress汽车模板,2020ppt模板免费下载,爬虫wordpress精选专栏链接 #x1f517; MySQL技术笔记专栏Redis技术笔记专栏大模型搭建专栏Python学习笔记专栏深度学习算法专栏 欢迎订阅#xff0c;点赞#xff0b;关注#xff0c;每日精进1%#xff0c;与百万开发者共攀技术珠峰 更多内容持续更新中#xff01;希望能给大家带来… 精选专栏链接 MySQL技术笔记专栏Redis技术笔记专栏大模型搭建专栏Python学习笔记专栏深度学习算法专栏 欢迎订阅点赞关注每日精进1%与百万开发者共攀技术珠峰 更多内容持续更新中希望能给大家带来帮助~ MySQL多表查询中的笛卡尔积问题1为什么需要多表查询2什么是笛卡尔积3多表查询的笛卡尔积错误3.1笛卡尔积错误案例3.2笛卡尔积错误的分析和解决3.3公共字段的处理练习1为什么需要多表查询 多表查询也称为关联查询指两个或更多个表一起完成查询操作。 可进行多表查询的前提条件 这些一起查询的表之间是有关系的一对一、一对多它们之间一定是有关联字段比如员工表和部门表这两个表依靠“部门编号”进行关联。 案例说明为什么需要多表查询 如下图所示的是一个项目的三张表EMPLOYEES表员工表、DEPARTMENTS表、LOCATIONS表。 显然我们可以得到如下信息 EMPLOYEES 表和DEPARTMENTS表通过 department_id 字段相关联DEPARTMENT表和 LOCATIONS 表通过 location_id 字段相关联 如果我们现在有一个新需求要求查询员工名为 “Abel” 的人在哪个城市工作 显然 EMPLOYEES 表中没有城市这个字段城市字段位于 LOCATIONS 表内。 我们可以通过如下步骤完成此需求。 第一步在EMPLOYEES表内查询Abel的员工信息 SQL语句如下 SELECT * FROM employees WHERE last_name Abel;运行结果如下 可以看到Abel 所在的 department_id 为80。 第二步在DEPARTMENT表内查询department_id 为80的部门信息 SQL语句如下 SELECT * FROM departments WHERE department_id 80;运行结果如下 可以看到department_id 为80的部门对应的location_id是2500。 第二步在LOCATIONS表内查询location_id是2500的地址信息 SQL语句如下 SELECT * FROM locations WHERE location_id 2500;运行结果如下 由此可见员工Abel的工作城市是Oxford。 写了三条SQL语句才实现此需求找到了Abel的工作城市这样是很不方便的而且在高并发的系统中执行多个SQL语句对效率和性能的影响是比较大的相当于多次交互。因此要引入多表查询通过多表查询可以实现 一条SQL语句完成此需求。 2什么是笛卡尔积 笛卡尔乘积是一个数学运算。假设我有两个集合 X 和 Y那么 X 和 Y 的笛卡尔积就是 X 和 Y 的所有可能组合也就是第一个对象来自于 X第二个对象来自于 Y 的所有可能。组合的个数即为两个集合中元素个数的乘积数。如下图所示 3多表查询的笛卡尔积错误 多表查询的一个常见错误就是笛卡尔积错误。 3.1笛卡尔积错误案例 当我们有如下需求时 需求查询每一位员工的employee_id和department_name。 注意 如下图所示员工的employee_id位于EMPLOYEES表而department_name字段位于DEPARTMENTS表。 如果执行如下SQL语句得到的是错误结果 SELECT employee_id,department_name FROM employees,departments; 运行结果如下 一共查询出2889条记录而EMPLOYEES表有107条记录DEPARTMENTS表有27条记录。27✖1072889它把每个员工都与每个部门匹配了一遍显然这是一种错误的实现方式具体来说是出现了笛卡尔积的错误。 错误的原因是缺少了多表的连接条件。 3.2笛卡尔积错误的分析和解决 笛卡尔积错误会在下面条件下产生 省略多个表的连接条件或关联条件连接条件或关联条件失效所有表中的所有行互相连接 正确的多表查询需要有连接条件。为了避免笛卡尔积错误可以通过WHERE子句加入有效的连接条件。 加入连接条件后的查询语法如下 SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column1 table2.column2; #连接条件因此正确的SQL语句应该是 SELECT employee_id,department_name FROM employees,departments # 两个表的连接条件 WHERE employees.department_id departments.department_id;运行结果如下 此时查询得到的结果才是正常的。 注意如上SQL查询得到106条记录而EMPLOYEES表内有107条记录原因是EMPLOYEES表中存在一条记录的 department_id 字段为Null。 3.3公共字段的处理 一个细节问题是如果查询语句中出现了多个表中都存在的字段则必须指明此字段所在的表。接下来结合案例解释 需求查询每一位员工的employee_id、department_name、department_id。 如果执行如下SQL SELECT employee_id,department_name,department_id FROM employees,departments WHERE employees.department_id departments.department_id;执行报错 原因是EMPLOYEES表和DEPARTMENTS表都存在字段 departmen_idSQL语句中没有明确指出查询哪个表中的 departmen_id 字段。 因此正确的SQL语句是 # 如果查询语句中出现了多个表中都存在的字段则必须指明此字段所在的表。 SELECT employee_id,department_name,employees.department_id FROM employees,departments WHERE employees.department_id departments.department_id;运行结果如下 我们了解到如果查询语句中出现了多个表中都存在的字段则必须指明此字段所在的表。对此规则进行拓展从sql优化的角度建议多表查询时每个字段前都指明其所在的表。 因为如果不指明字段所在的表MySQL会自己去两张表中找此字段找到后还需要检查另外一张表中是否存在此字段。这会在一定程度上影响查询的性能。因此建议多表查询时每个字段前都指明其所在的表。 即更好的SQL语句如下 SELECT employees.employee_id,departments.department_name,employees.department_id FROM employees,departments WHERE employees.department_id departments.department_id;练习 我们再提出一个新的需求用做练习。 需求查询每一位员工的employee_id、last_name、department_name、city。 SQL语句如下 SELECT e.employee_id,e.last_name,d.department_name,l.city,e.department_id,l.location_id FROM employees e,departments d,locations l WHERE e.department_id d.department_id AND d.location_id l.location_id;因此可以总结出规律如果有n个表实现多表的查询则需要至少n-1个连接条件。 欢迎订阅点赞关注每日精进1%与百万开发者共攀技术珠峰 更多内容持续更新中希望能给大家带来帮助~
http://www.zqtcl.cn/news/562351/

相关文章:

  • 滨江道做网站公司wordpress 花瓣网
  • 如何建网站快捷方式软件开发做平台
  • 常见的静态网页深圳罗湖企业网站优化
  • 做网站一天赚多少钱外贸网站建设排名
  • 一个大型网站建设得多少钱百度成都总部
  • 网站制作公司汉狮网络手机版网站优化
  • 铜川做网站logo 图标 设计
  • 如何做网站的注册页面南京宣传片公司有哪些
  • 中国建设机械教育协会网站网站建设中html中关于图片显示的标签有哪些
  • 网站过期后dede减肥网站源码
  • 营销型 手机网站网站建设方案后期服务
  • 怎么做一个个人网站建网站的八个步骤
  • 淘宝导购网站模版上海网站推广软件
  • 做影视网站引流湖北响应式网站建设费用
  • 网站统计cnzz网站空间有哪些
  • 泉州微信网站开发公司wordpress头像解决
  • 湛江网站建设皆选小罗24专业网站建设 福田
  • 厦门哪些做鲜花的网站门户网站开发设计报告
  • asp.net网站设计分工天津网站开发贴吧
  • 做多语言网站教程南宁vi设计公司
  • 百度联盟 网站备案wordpress 吾爱破解
  • 山西省建设厅网站首页网络营销推广为什么效果不好
  • 建材做网站好吗长沙做网站微联讯点不错
  • 建设小型网站分类门户网站系统
  • 文化馆网站数字化建设介绍138ip地址查询网站
  • 卖汽车的网站怎么做的建设服装网站的论文
  • 网络推广哪个网站好网站建设最低多少钱
  • 怎么在自己电脑做网站北京赛车网站开发
  • 门户网站内容wordpress上下页
  • 长安做英文网站营销型网站搭建