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

企业网站建设需求书建设一个境外网站

企业网站建设需求书,建设一个境外网站,买空间网官网,画册宣传册设计文章目录 简介笛卡尔积等值连接非等值连接外连接自连接其他SQL92与SQL99中连接的区别不同DBMS下使用连接的注意事项参考文献 简介 SQL92中提供了5类连接方式#xff0c;分别是笛卡尔积、等值连接、非等值连接、外连接(左连接、右连接、全外连接(full outer join、全连接))和自… 文章目录 简介笛卡尔积等值连接非等值连接外连接自连接其他SQL92与SQL99中连接的区别不同DBMS下使用连接的注意事项参考文献 简介 SQL92中提供了5类连接方式分别是笛卡尔积、等值连接、非等值连接、外连接(左连接、右连接、全外连接(full outer join、全连接))和自连接。 SQL99标准中基本一致分别是交叉连接、自然连接、外连接左外连接、右外连接和全外连接和自连接并补充了on和using这两种操作符来指定我们需要的连接条件。 笛卡尔积 笛卡尔积是一个数学运算。假设有A和B两个集合则这两个集合的笛卡尔积就是它俩的所有可能组合。 select * from A, B;假设A表有m行数据B表有n行数据那么最终的结果集里就会有m*n行即所有的组合情况这就是笛卡尔积。 笛卡尔积在SQL99中又称为交叉连接即cross join。它的作用是可以把任意表做连接即使这些表之间并不相关。 select * from A cross join B;但是事实上直接这样使用笛卡尔积是非常粗暴的所以我们通常在使用连接的时候还是会加上筛选条件的即where这就诞生了下一步要说的等值连接。 等值连接 等值连接的话就需要两张表有关联了即需要两表有相同或相似的字段可以用来做连接时的筛选。 select * from A, B where a.team_id b.team_id;可以看到似乎好像就是在笛卡尔积的基础上加入了筛选条件。 等值连接在SQL99中被称为自然连接即natural join 那么问题来了等值连接运行时会先产生笛卡尔积然后再用where条件来过滤吗 是的等值连接其实是需要先做笛卡尔积然后再根据where条件选择出满足条件的记录组合。 非等值连接 多表关联时如果连接条件是等号就是等值连接其他的运算符就是非等值连接。 select * from A, B where A.height between B.height_lowest and B.height_highest;外连接 外连接的一大特点是除了可以查询满足条件的记录以外也可以搭配null值检查来查询不满足条件的记录。 两张表分主表和从表。 SQL92中采用()代表从表所在位置而且92中只有左外连接和右外连接没有全外连接。 左外连接左边的表是主表显示左边的表的全部行若右表没有匹配则右表位置为null。 92标准下 select * from A, B where A.team_id B.team_id()相当于SQL99中 select * from A left join B on A.team_idB.team_id;右外连接右边的表是主表显示右边的表的全部行若左表没有匹配上则左表位置为null 92标准下 select * from A, B where A.team_id() B.team_id相当于SQL99中 select * from A right join B on A.team_idB.team_id;92标准中不存在left join和right join。 全外连接结合了left join和right join的结果其实就是两表关联取并集。在99标准中的语法是A full join B或者是A full outer join B 这里可以考虑一下两表取并集之后去掉交集如何使用full join来写 MySQL中未提供full join写法但oracle提供。 内连接两表关联取交集。 自连接 指自己连接自己。查询时用到了自己的字段 select b.player_name from A a, A b where a.player_name赫韦德斯 and a.height b.height查看比赫韦德斯高的球员。 这个用join也能实现 select b.player_name from A a join A b on a.player_name赫韦德斯 and a.height b.height其他 sql99中还提供了一种using连接在进行连接时可以用using指定数据表中的同名字段进行等值连接比如 SELECT player_id, team_id, player_name, height, team_name FROM player JOIN team USING(team_id)相当于 SELECT player_id, player.team_id, player_name, height, team_name FROM player JOIN team ON player.team_id team.team_id按我理解简化了连接而已。 SQL92与SQL99中连接的区别 SQL92中会把所有需要连接的表都放在from后而SQL99是采用join的方式连接一张表可以多次使用join连接不同的表这样看起来层次性更强可读性更强。 不同DBMS下使用连接的注意事项 部分DBMS虽然支持SQL99标准但是并不支持里面的全外连接比如说MySQL、Access、SQLite、MariaDB等但是Oracle、DB2、SQL Server 是支持的Oracle不支持表别名as如果要写别名的话直接写成player p即可SQLite只支持左连接不支持右连接 另外鼓励使用自连接而不是子查询。因为在许多 DBMS 的处理过程中对于自连接的处理速度要比子查询快得多。你可以这样理解子查询实际上是通过未知表进行查询后的条件判断而自连接是通过已知的自身数据表进行条件判断因此在大部分 DBMS 中都对自连接处理进行了优化。 参考文献 10丨常用的SQL标准有哪些在SQL92中是如何使用连接的11丨SQL99是如何使用连接的与SQL92的区别是什么sql中的几种join 及 full join问题 写的很好很全面一图看懂join、left join、right join、fulljoin间的区别SQL FULL JOIN 关键字
http://www.hkea.cn/news/14260049/

相关文章:

  • 网站的建设和维护成本wordpress 模板 管理
  • 做好网站功能性建设工作汉中seo培训
  • 电商网站推广常见问题简创网站建设费用
  • 杭州智能模板建站推广网站的软文
  • 苏州网站建设系统方案网站设计模版
  • 网站栏目的分类网站建设营销排名方案
  • 一个网站开发的流程图网站制定公司
  • 不同网站建设特点wordpress数据库注入
  • 延津县建设局网站如何自己做电商
  • 做网站跳转官网网页模板
  • 好网站页面昆明微网站搭建哪家好
  • 小白怎么做网站赚钱手机网站源码下载
  • 重庆网站设计开发培训wordpress模板校园
  • seo可以提升企业网站的域名解析网站什么意思
  • 论网站建设情况汽车网站推广策划方案
  • 制作企业宣传册用什么软件视频网站seo怎么做
  • 设计灵感网站整理wordpress插件开发工具
  • ps做的图片能做直接做网站吗wordpress中title
  • cms网站有哪些安全生产标准化建设网站
  • 建设企业官方网站企业登录wordpress制作小程序
  • 杭州门户网站有哪些dw制作一张完整网页
  • 网站悬浮窗代码百度电商广告代运营
  • 女做受网站wordpress 过滤词
  • 微信版网站制作做资讯网站怎么挣钱
  • 营销型网站建设怎么收费知乎小说推广对接平台
  • 免费推广网站大全专业建站公司
  • 大学生网站设计作业教育培训加盟
  • 网站seo好学吗织梦网站视频
  • 湖南高端网站建设合肥市城乡建设局和住建局官网
  • 福田做网站公司wordpress 网站 上传