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

云盘建设网站宁波网络营销怎么做

云盘建设网站,宁波网络营销怎么做,自助建站源码php,发稿是什么意思数据库表的关联、集合操作 join、MySQL、Oracle什么left right的老是忘,归根到底还是不熟练,记录下来,以后就不用再搜了。 设表A、表B分别包含员工信息和部门信息。 表A包含员工的ID、姓名和部门ID, 表B包含部门ID和部门名称。 …

数据库表的关联、集合操作

join、MySQL、Oracle

什么left right的老是忘,归根到底还是不熟练,记录下来,以后就不用再搜了。

设表A、表B分别包含员工信息和部门信息。

表A包含员工的ID、姓名和部门ID,
表B包含部门ID和部门名称。

(Inner) Join 内连接

返回两个表中满足连接条件的记录。如果两个表中没有匹配的记录,则不会返回任何结果。
inner join 和 join 等价。

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA AINNER JOIN TableB B ON A.DepartmentID = B.DepartmentID;

在两个字段同名的情况下,这个sql可以使用using进一步简化:

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA AINNER JOIN TableB B USING (DepartmentID);

若两表只有一对同名字段,则可以进一步简化(使用自然连接):

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA ANATURAL JOIN TableB B;

返回表A中员工的ID和姓名,以及他们所在的部门名称,只返回满足连接条件的记录。

Left Join 左连接

等效 left outer join ,outer可省略

返回左表中所有的记录,以及与右表中满足连接条件的记录。如果右表中没有匹配的记录,则返回NULL值。

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA ALEFT JOIN TableB B ON A.DepartmentID = B.DepartmentID;

返回表A中员工的ID和姓名,以及他们所在的部门名称,如果有员工所在的部门在表B中没有对应的部门记录,那么部门名称将显示为NULL值。

Right Join 右连接

等效 right outer join ,outer可省略

返回右表中所有的记录,以及与左表中满足连接条件的记录。如果左表中没有匹配的记录,则返回NULL值。

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA ARIGHT JOIN TableB B ON A.DepartmentID = B.DepartmentID;

返回表B中的部门ID和部门名称,以及该部门下的员工信息,如果有部门在表A中没有员工记录,那么员工ID和姓名将显示为NULL值。

全外连接

在 Oracle 中可以使用Full Outer Join,等效full join,outer可省略:

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA AFULL OUTER JOIN TableB B ON A.DepartmentID = B.DepartmentID;

返回所有员工和所有部门信息,员工无部门其部门显示NULL,部门无员工其员工显示NULL

解决MySQL中不支持全外连接的办法:

将左外连接和右外连接中间利用union取并集(去重,执行效率低):

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA ALEFT JOIN TableB B ON A.DepartmentID = B.DepartmentID
UNION 
SELECT A.ID, A.Name, B.DepartmentName
FROM TableA ARIGHT JOIN TableB B ON A.DepartmentID = B.DepartmentID;

或可利用union all取并集(不去重,执行效率高):

SELECT A.ID, A.Name, B.DepartmentName
FROM TableA ALEFT JOIN TableB B ON A.DepartmentID = B.DepartmentID
UNION ALL
SELECT A.ID, A.Name, B.DepartmentName
FROM TableA ARIGHT JOIN TableB B ON A.DepartmentID = B.DepartmentID;

集合操作

MySQL只支持并集,交、差不支持;

Oracle支持并、交、差。

三表查询

自连接查询

以上是99语法

92语法

交叉连接

两表中间使用逗号分隔,表示两表笛卡尔积,然后利用where条件筛选。

  1. 92语法更简单但使用繁琐,无特性关键词(个人感觉可以理解为一种语法糖)
  2. 92语法的 表的连接条件 和 筛选条件 没有分开
  3. 99语法提供了更多查询连接类型,使用和表达上更为简洁,但语法体系更为冗杂

声明:本文使用八爪鱼rpa工具从gitee自动搬运本人原创(或摘录,会备注出处)博客,如版式错乱请评论私信,如情况紧急或久未回复请致邮 xkm.0jiejie0@qq.com 并备注原委;引用本人笔记的链接正常情况下均可访问,如打不开请查看该链接末尾的笔记标题(右击链接文本,点击 复制链接地址,在文本编辑工具粘贴查看,也可在搜索框粘贴后直接编辑然后搜索),在本人博客手动搜索该标题即可;如遇任何问题,或有更佳方案,欢迎与我沟通!

http://www.wangmingla.cn/news/134291.html

相关文章:

  • 做棋牌网站多少钱爱站工具包的模块有哪些
  • 鹤壁做网站的公司营销渠道的三个类型
  • 做网站网页的公司长春关键词优化报价
  • 个人网站的制作刷网站软件
  • 万网会员台州seo服务
  • 区块链开发票手机网站怎么优化关键词
  • 珠海做网站的公司网站排名优化+o+m
  • 设计好的网站苏州seo优化
  • 漳州网站建设公司推荐企业网站推广方法实验报告
  • 北京律师网站建设成人本科报考官网
  • 网站建设应该学什么万能导航网
  • 站长工具高清有吗域名注册官网
  • 网站网站开发的免费网站建设seo
  • 免费免费网站模板下载网站seo哪家公司好
  • 网站流水怎么做seo托管公司
  • 永州网站建设gwtcms2023年8月疫情严重吗
  • seo引擎优化服务优化营商环境指什么
  • 贵州网站制作郑州百度seo网站优化
  • 做外贸用什么网站比较好世界足球排名前100
  • 高新区手机网站建设百度提交入口网站
  • 个人网站可以做咨询吗创建网站免费注册
  • 涪陵区小城镇建设管理处网站报个电脑培训班要多少钱
  • 网站建设中 英文深圳关键词
  • 100深夜看黄禁用免费seo是什么意思
  • 淘宝联盟的购物网站怎么做行业数据统计网站
  • 定制手机网站建设西安seo优化排名
  • 网站团队人员百度网站流量查询
  • 深圳公司网站建设服务为先百度推广账号登录
  • 自己公司网站自己能做吗app推广代理去哪里找
  • 网站木马文件删除爱站查询工具