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

网站建设 数据可视化手机百度网页版入口

网站建设 数据可视化,手机百度网页版入口,网站怎么做优化推广,app开发工具简单MySQL多表连接查询Left Join,Right Join php开源嘛在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧(如果内容有错误或有疑问,国内关于MySQL联结查询的资料十分少,…

775bd582276bd2a035d2cc34bc4dcce8.png

MySQL多表连接查询Left Join,Right Join php开源嘛

在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧(如果内容有错误或有疑问,国内关于MySQL联结查询的资料十分少,相信大家在看了本文后会对MySQL联结语法有相当清晰的了解,也不会被Oracle的外联结的(“+”号)弄得糊涂了。

在SQL标准中规划的(Join)联结大致分为下面四种: php开源嘛

1. 内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。

2. 外联结:分为外左联结和外右联结。 php开源嘛

左联结A、B表的意思就是将表A中的全部记录和表B中联结的字段与表A的联结字段符合联结条件的那些记录形成的记录集的联结,这里注意的是最后出来的记录集会包括表A的全部记录。

右联结A、B表的结果和左联结B、A的结果是一样的,也就是说:

Select A.name B.name From A Left Join B On A.id=B.id

和Select A.name B.name From B Right Join A on B.id=A.id执行后的结果是一样的。

3.全联结:将两个表中存在联结关系的字段的所有记录取出形成记录集的联结(这个不需要记忆,只要是查询中提到了的表的字段都会取出,无论是否符合联结条件,因此意义不大)。

4.无联结:不用解释了吧,就是没有使用联结功能呗,也有自联结的说法。

这里我有个比较简便的记忆方法,内外联结的区别是内联结将去除所有不符合条件的记录,而外联结则保留其中部分。外左联结与外右联结的区别在于如果用A左联结B则A中所有记录都会保留在结果中,此时B中只有符合联结条件的记录,而右联结相反,这样也就不会混淆了。其实大家回忆高等教育出版社出版的《数据库系统概论》书中讲到关系代数那章(就是将笛卡儿积和投影那章)的内容,相信不难理解这些联结功能的内涵。

MySQL支持Select和某些Update和Delete情况下的Join语法,具体语法上的细节有:

table_references:

table_reference [, table_reference] …

table_reference:

table_factor

| join_table

table_factor:

tbl_name [[AS] alias]

[{USE|IGNORE|FORCE} INDEX (key_list)]

| ( table_references )

| { OJ table_reference LEFT OUTER JOIN table_reference

ON conditional_expr }

join_table:

table_reference [INNER | CROSS] JOIN table_factor [join_condition]

| table_reference STRAIGHT_JOIN table_factor

| table_reference STRAIGHT_JOIN table_factor ON condition

| table_reference LEFT [OUTER] JOIN table_reference join_condition

| table_reference NATURAL [LEFT [OUTER]] JOIN table_factor

| table_reference RIGHT [OUTER] JOIN table_reference join_condition

| table_reference NATURAL [RIGHT [OUTER]] JOIN table_factor

join_condition:

ON conditional_expr | USING (column_list)

上面的用法摘自权威资料,不过大家看了是否有点晕呢?呵呵,应该问题主要还在于table_reference是什么,table_factor又是什么?这里的table_reference其实就是表的引用的意思,因为在MySQL看来,联结就是一种对表的引用,因此把需要联结的表定义为table_reference,同时在SQL Standard中也是如此看待的。而table_factor则是MySQL对这个引用的功能上的增强和扩充,使得引用的表可以是括号内的一系列表,如下面例子中的JOIN后面括号:

Select * FROM t1 LEFT JOIN (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) php开源嘛

这个语句的执行结果和下面语句其实是一样的:

Select * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)

ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)

这两个例子不仅让我们了解了MySQL中table_factor和table_reference含义,同时能理解一点CROSS JOIN的用法,我要补充的是在MySQL现有版本中CROSS JOIN的作用和INNER JOIN是一样的(虽然在SQL Standard中是不一样的,然而在MySQL中他们的区别仅仅是INNER JOIN需要附加ON参数的语句,而CROSS JOIN不需要)。

既然说到了ON语句,那就解释一下吧,ON语句其实和Where语句功能大致相当,只是这里的ON语句是专门针对联结表的,ON语句后面的条件的要求和书写方式和Where语句的要求是一样的,大家基本上可以把ON当作Where用。

大家也许也看到了OJ table_reference LEFT OUTER JOIN table_reference这个句子,这不是MySQL的标准写法,只是为了和ODBC的SQL语法兼容而设定的,我很少用,Java的人更是不会用,所以也不多解释了。

http://www.lbrq.cn/news/2788435.html

相关文章:

  • 装饰设计室内公司网站优化及推广
  • 织梦做的网站怎么上传视频教程如何自己做引流推广
  • 深圳网站建设 乐云seo衡阳seo优化
  • 网站后台插件百度浏览器网址大全
  • 做垂直平台网站友情链接实例
  • 做最精彩绳艺网站常州免费网站建站模板
  • 永久免费个人网站职业技术培训
  • 凡科网站怎么做建站北京网优化seo优化公司
  • 白云做网站要多少钱uv推广平台
  • 傻瓜式制作app的软件百度关键词在线优化
  • c2c电子商务网站定制开发系统优化软件哪个好
  • 合肥论坛网站建设线上广告推广
  • 网站建设计划书范文百度代理公司
  • 专业搭建网站公司seo网络推广
  • 直播课网站怎样做的seo外包是什么
  • 龙虎和网站开发关键词seo培训
  • 网站建设类公司小说百度搜索风云榜
  • 鹤岗网站建设各网站收录
  • 网站后台做链接哪里有seo排名优化
  • html5高端网站建设织梦模板今日最新消息
  • 插头 东莞网站建设一份完整app运营推广方案
  • 搭建网站步骤whois域名查询
  • 网站项目怎么做的最近一周的新闻
  • 学习网站免费十大搜索引擎地址
  • 上海工程建设执业资格注册中心网站百度竞价开户渠道
  • php做视频网站有哪些软件直播代运营公司
  • 沧州英文模板建站什么软件可以免费引流
  • 做电子书网站百度投诉中心24人工
  • 网站域名密码忘了网站联盟推广
  • 南京网站a建设云世家东莞seo代理
  • Altium Designer 22使用笔记(8)---PCB电气约束设置
  • Bigemap APP 详细使用教程,入门学习PPT
  • 海量数据测试指南与实战
  • uni-app跨端开发最后一公里:详解应用上架各大应用商店全流程
  • 第4章 React状态管理基础
  • 从0到1认识Rust通道