设为首页 收藏本站
查看: 1299|回复: 0

[经验分享] 如何创建高级连接SQL作关联

[复制链接]

尚未签到

发表于 2018-10-22 08:16:26 | 显示全部楼层 |阅读模式
  连接:利用SQL的select能执行的最重要的操作
  为何使用连接:分解数据为多个表能更有效的存储,更方便的处理且具有更大的可伸缩性。
  连接是一种机制,用来在一条select语句中关联表,这个关联而查询出来的表并不是现实存在的表
  规定要连接的所有表以及如何关联即可
  例:  select vend_name,prod_name,prod_price
  from vendors,products where
  vendors.vend_id=products.vend_id;
  通过id来关联供应商表vendors与商品表products来查出对应的字段值
  而如果:select vend_name,prod_name,prod_price
  from vendors,products;
  不通过关联查询出的是所有的数据,也包括了供应商不正确的商品,实际上就是有的供应商压根儿就没有商品。
  内连接:基于两个表之间的相等测试,称为内链接
  例:select vend_name,prod_name,prod_price from vendors inner join products on
  vendors.vend_id=products.vend_id
  两表之间的关系是from子句的组成部分,以inner join 指定,连接条件用特定的on子句而不是where子句给出,传递给on的实际条件和传递给where的相同。
  连接多个表:因SQL对一条select语句中可以连接的表的数目没有限制,创建连接的基本规则也相同,先列出所有表,后定义表之间的关系。
  例:select prod_name,vend_name,prod_price ,quantity
  from orderitems,products,vendors
  where products.vend_id=vendors.vend_id
  and orderitems.prod_id=products.prod_id
  and order_num='20007';
  主要显示编号为20007的订单中的物品,订单物品存储在orderitems表中,每个产品按其传品id存储,它引用products表中的产品,而这些产品通过供应商id连接到vendors表中相应的供应商,供应商id存储在每个产品的记录中,这里的from 子句列出了三个表,where子句定义了这两个连接条件,第三个连接条件是用来过滤出订单20007中的物品。
  注:dbms在运行时,由于关联的表越多,性能就会越低,因此不要关联不必要的表。
  自连接:http://baike.baidu.com/link?url=lDd7a-OIyHdM4U--hwghMzZVevrzyucEjT3COu3IW-0hpSZWez80kU9Li3HbrwHyGQxFsPO7Y0rBHsd_siNi1a


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-624722-1-1.html 上篇帖子: 优化SQL查询:如何写出高性能SQL语句 下篇帖子: 【MySQL】SQL 里面的字符串操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表