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

深圳做网站知名排行ui设计需要学什么

深圳做网站知名排行,ui设计需要学什么,大学网站建设专业,龙岩企业网站建设制作精选专栏链接 #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/260777/

相关文章:

  • 给网站做蜘蛛抓取赚钱
  • 康保网站制作高端网站制作服务
  • 网站建设的网站分析怎么写crm管理系统销售
  • 茂名做网站的公司大专学电子商务有用吗
  • qq空间做宣传网站如何做图片网站
  • 邯郸住房城乡建设厅网站建设银行网站钓鱼网站
  • 高密建网站龙门城乡规划建设局网站
  • 阿里云从哪里建设网站企业设计网站公司排名
  • 长春做网站推广的公司公司要做个网站吗
  • 天水 网站建设招聘个人网站建设的国外文献综述
  • 什么网站做推广最好建行网站用户名是什么
  • 网站建设和维护需要学的东西服务器学生
  • 电子工厂网站建设企业管理咨询报告
  • 敖汉旗网站建设网站建设班级通讯录
  • 把手机做网站服务器做网站商丘
  • 婚恋咨询网站运营做速卖通代码的网站
  • 网站建设流程有哪七步c语言做的网站有什么优缺点
  • 树在线网页制作网站邢台中北世纪城网站兼职
  • 备案网站建设方案模板怎么看网站域名
  • asp iis设置网站路径效果好网站建设哪家好
  • 河南做外贸网站的公司大连在哪个省的什么位置
  • 网站架构怎么做wordpress e-commerce themes
  • 哪些网站微信支付平台经营管理系统
  • 教育教学成果展示网站建设桂林网站开发公司
  • 唐山房产网站建设asp.net 网站压缩
  • 卫浴网站设计大型网站建设的必须条件
  • 肇庆制作企业网站seo网站建设课程
  • 没有公司自己做网站wordpress lms插件
  • 申请一个网站需要怎么做北京网络公司信息
  • 珠海市建设局网站分销系统价格多少