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

网站做反向解析网站开发建设步骤

网站做反向解析,网站开发建设步骤,简单的静态网页模板,做网站在浏览器预览怎么出现了状况对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在…

 

对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过文氏图Venndiagrams解释了SQL的Join。我觉得清楚易懂,转过来。

假设我们有两张表,TableA是左边的表,TableB是右边的表。

其各有四条记录,其中有两条记录是相同的,如下所示:

1

id 

name 

id 

name 

2

-- 

---- 

-- 

---- 

3

1

Pirate 

1

Rutabaga 

4

2

Monkey 

2

Pirate 

5

3

Ninja 

3

Darth Vader

6

4

Spaghetti 

4

Ninja 

下面让我们来看看不同的Join会产生什么样的结果。

Inner join产生的结果集中,是A和B的交集。

1

SELECT * FROM TableA INNER JOIN TableB

2

ON TableA.name = TableB.name

3

id 

name 

id 

name 

4

-- 

---- 

-- 

---- 

5

1

Pirate 

2

Pirate 

6

3

Ninja 

4

Ninja 

Full outer join产生A和B的并集。但是需要注意的是,对于没有匹配的记录,则会以null做为值。

01

SELECT * FROM TableA FULL OUTER JOIN TableB

02

ON TableA.name = TableB.name

03

id 

name 

id 

name 

04

-- 

---- 

-- 

---- 

05

1

Pirate 

2

Pirate

06

2

Monkey 

null

null

07

3

Ninja

4

Ninja

08

4

Spaghetti

null

null

09

null 

null

1

Rutabaga

10

null 

null

3

Darth Vader

Left outer join产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。

01

SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name

02

ON TableA.name = TableB.name

03

id 

name 

id 

name 

04

-- 

---- 

-- 

---- 

05

1

Pirate 

2

Pirate 

06

2

Monkey 

null 

null 

07

3

Ninja 

4

Ninja 

08 

4

Spaghetti 

null

null 

09 

null 

null 

1

Rutabaga 

10

null 

null 

3

Darth Vader

 

01

SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name

02

id 

name 

id 

name 

03

-- 

---- 

-- 

---- 

04

1

Pirate 

2

Pirate 

05

2

Monkey 

null 

null 

06

3

Ninja 

4

Ninja 

07

4

Spaghetti

null 

null 

01

SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name WHERE TableB.id IS null

02

id 

name 

id 

name 

03

-- 

---- 

-- 

---- 

04

2

Monkey 

null 

null 

05

4

Spaghetti 

null 

null 

产生在A表中有而在B表中没有的集合。

01

SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name WHERE TableA.id IS null OR TableB.id IS null

02

id 

name 

id 

name 

03

-- 

---- 

-- 

---- 

04

2

Monkey 

null 

null 

05

4

Spaghetti 

null 

null 

06

null 

null 

1

Rutabaga 

07

null 

null 

3

Darth Vader 

产生A表和B表都没有出现的数据集。

还需要注册的是我们还有一个是"交差集"crossjoin,这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:

01

SELECT * FROM TableA 

02

CROSS JOIN TableB 

这个笛卡尔乘积会产生4x4=16条记录,一般来说,我们很少用到这个语法。但是我们得小心,如果不是使用嵌套的select语句,一般系统都会产生笛卡尔乘积然再做过滤。这是对于性能来说是非常危险的,尤其是表很大的时候。

 

转载于:https://www.cnblogs.com/Chary/p/No00008C.html

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

相关文章:

  • 手机上怎么查看网站设计推广自己的产品
  • 桂林象鼻山水月洞西安seo哪家好
  • 未来做哪个网站能致富刷网站软件
  • 静态网页发布到wordpress郑州seo网站管理
  • 泰安网站设计公司长沙专业网络推广公司
  • 网站如何做前后端分离seo超级外链
  • 数学建模网站建设seo关键词首页排名代发
  • html5做网站的好处东莞网络推广托管
  • 建设电子商务网站的试卷怎么样把广告做在百度上
  • 烟台seo网站诊断长尾关键词挖掘工具
  • 佛山网站建设是哪个好上海疫情又要爆发了
  • 最近做国际网站怎么样免费建立个人网站
  • 哪些网站做面试题seo站长优化工具
  • 做淘推广的网站上海百度推广
  • asp与java做网站效果今天国内最新消息
  • 报名网站如何做优化优化
  • 建设网站的价值全国最新疫情最新消息
  • 猪八戒网站做推广靠谱百度推广登录账号首页
  • 如何做漂亮的网站首页建网站软件工具
  • crm管理是什么意思厦门关键词排名seo
  • 网站脚本怎么做站长查询域名
  • qq赞网站推广免费百度软件商店
  • 专业商城网站建设报价免费外网加速器
  • 常州城乡建设学校网站优化营商环境条例心得体会
  • 钦州建设网站免费加客源
  • ps软件免费seo教育
  • 深圳加盟网站建设seo工作职责
  • 自己建的网站可以用笔记本做服务器吗站长工具站长之家官网
  • 做网站用虚拟机还是服务器seo赚钱培训课程
  • 我的网站为什么广州百度网站推广
  • 5. 缓存-Redis
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘huggingface_hub’问题
  • 【前端】纯代码实现Power BI自动化
  • 合约收款方式,转账与问题安全
  • 超高车辆如何影响城市立交隧道安全?预警系统如何应对?
  • 代码随想录day58图论8