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

室内设计培训班靠谱吗免费的电脑优化软件

室内设计培训班靠谱吗,免费的电脑优化软件,开发网站的成本,推荐常州微信网站建设内连接、外连接、交叉连接、笛卡尔积 内连接(inner join):取得两张表中满足存在连接匹配关系的记录。外连接(outer join):不只取得两张表中满足存在连接匹配关系的记录,还包括某张表(或两张表)中不满足 匹配关系的记录。交叉连接(cross join):显示两张表所有记录一…

内连接、外连接、交叉连接、笛卡尔积

  • 内连接(inner join):取得两张表中满足存在连接匹配关系的记录。
  • 外连接(outer join):不只取得两张表中满足存在连接匹配关系的记录,还包括某张表(或两张表)中不满足 匹配关系的记录。
  • 交叉连接(cross join):显示两张表所有记录一一对应,没有匹配关系进行筛选,它是笛卡尔积在 SQL 中的实 现 , 如 果 A 表 有 m 行, B 表 有 n 行, 那 么 A 和 B 交 叉 连 接 的 结 果 就 有 m * n 行。
  • 笛卡尔积:是数学中的一个概念,例如集合 A={a,b},集合 B={0,1,2},那么 A B= {<a,o>,<a,1>,<a,2>, <b,0>,<b,1>,<b,2>,} 。

外连接常用的有左连接、右连接:

  • left join 在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。
  • right join 在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。

join的实现

join的实现其实是先从一个表中找出所有行(或者根据where子句查出符号条件的行),然后去下一个表中循环寻找匹配的行,依次下去,直到找到所有匹配的行,使用join不会去创建临时表,使用in的话会创建临时表,销毁临时表

平时多做练习

知其然,知其所以然,并且要学以至用。
不仅仅知道概念,还需要动手写sql,一般都是简单的连接查询,具体关于连接查询的sql练习,参见以下链接:

  • 牛客:https://www.nowcoder.com/exam/oj?tab=SQL%E7%AF%87&topicId=82
  • leetcode:https://leetcode.cn/problemset/database

小试一下:

题目:组合两个表

表: Person

±------------±--------+
| 列名 | 类型 |
±------------±--------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
±------------±--------+
personId 是该表的主键(具有唯一值的列)。
该表包含一些人的 ID 和他们的姓和名的信息。

表: Address

±------------±--------+
| 列名 | 类型 |
±------------±--------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
±------------±--------+
addressId 是该表的主键(具有唯一值的列)。
该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。

编写解决方案,报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为 null 。

以 任意顺序 返回结果表。

结果格式如下所示。

示例 1:

输入:
Person表:
±---------±---------±----------+
| personId | lastName | firstName |
±---------±---------±----------+
| 1 | Wang | Allen |
| 2 | Alice | Bob |
±---------±---------±----------+
Address表:
±----------±---------±--------------±-----------+
| addressId | personId | city | state |
±----------±---------±--------------±-----------+
| 1 | 2 | New York City | New York |
| 2 | 3 | Leetcode | California |
±----------±---------±--------------±-----------+
输出:
±----------±---------±--------------±---------+
| firstName | lastName | city | state |
±----------±---------±--------------±---------+
| Allen | Wang | Null | Null |
| Bob | Alice | New York City | New York |
±----------±---------±--------------±---------+
解释:
地址表中没有 personId = 1 的地址,所以它们的城市和州返回 null。
addressId = 1 包含了 personId = 2 的地址信息。

思路:
因为表 Address 中的 personId 是表 Person 的外关键字,所以我们可以连接这两个表来获取一个人的地址信息。
考虑到可能不是每个人都有地址信息,我们应该使用 outer join 而不是默认的 inner join。

sql

# Write your MySQL query statement belowselect p.FirstName, p.LastName, a.City, a.State from Person as p left join Address as a on p.PersonId = a.PersonId
http://www.dinnco.com/news/24277.html

相关文章:

  • 如何做菠菜网站代理学生网页制作成品
  • 1920的做网站做多大福建seo顾问
  • 武汉网站建设制作百度推广后台登录入口
  • 西安知名网站建设公司排名sem优化托管
  • wordpress进阶济南seo优化公司助力网站腾飞
  • 怎样在微信做产品网站百度竞价规则
  • 商城网站建设是 什么软件网络营销首先要进行
  • 企业网站程序制作自己如何做一个网站
  • 德州做网站公司电话中视频自媒体平台注册
  • 专业网站制作网络公司谷歌seo搜索优化
  • 织梦做网站需要钱吗免费网页在线客服制作
  • 找人做网站应该注意哪些千锋教育培训机构地址
  • 国内建网站知名企业怎么seo网站关键词优化
  • 舟山 网站制作淄博搜索引擎优化
  • 科技有限公司可以做网站建设吗?潍坊网站建设
  • 源码建站和模板建站区别网站建网站建设网站
  • 外贸免费自助建站平台免费个人博客网站
  • 做外贸网站用什么空间福州百度推广排名优化
  • 备案中网站名称福州seo博客
  • 那些提卡网站是怎么做的谷歌seo网站推广怎么做优化
  • 做一个电商网站要多少钱网络营销一般月薪多少
  • 商城网站哪个公司做的好处百度知道官网首页登录入口
  • 网站怎么产品做推广企业网站有哪些平台
  • 最新新闻热点事件及分析天津百度seo
  • 中小企业网站建设济南兴田德润o厉害吗上海排名优化推广工具
  • 新疆网站设计做推广哪个平台效果好
  • 陕西西安网站建设公司排名外包网络推广
  • 国外对网站开发的研究百度快照在哪里
  • 网站建设 专项资金变更推广游戏赚钱的平台
  • wordpress网站文章加密抖音营销推广方案