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

颛桥做网站营销软件排名

颛桥做网站,营销软件排名,上海途阔网络科技有限公司,wordpress多客服表关联是频率非常高的一种数据库操作,在MySQL中,这种JOIN操作有很多类型,包括内联接、左外连接、右外连接等等,而每种连接的含义都不一样,如果死记硬背,不仅很难记住,而且也容易搞混淆&#xff…

表关联是频率非常高的一种数据库操作,在MySQL中,这种JOIN操作有很多类型,包括内联接、左外连接、右外连接等等,而每种连接的含义都不一样,如果死记硬背,不仅很难记住,而且也容易搞混淆,今天我们尝试使用图解的方式来讲解各种连接的内涵,因为结合了具体的例子,相信会让大家印象深刻。

MySQL中常见的表关联有如下几种:

  1. INNER JOIN
  2. LEFT JOIN
  3. RIGHT JOIN
  4. FULL OUTER JOIN
  5. LEFT JOIN EXCLUDING INNER JOIN
  6. RIGHT JOIN EXCLUDING INNER JOIN
  7. OUTER JOIN EXCLUDING INNER JOIN
  8. CROSS JOIN

1 准备环境

先创建两张表,一张是订单表,一张是客户表,订单表中的字段customer_id与客户表的主键关联。数据表创建完成后,再往表里插入简单的测试数据:

先是订单表:

CREATE TABLE `t_order` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`order_no` int(11) DEFAULT NULL COMMENT '订单号',`customer_id` int(11) DEFAULT NULL COMMENT '客户id',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- 插入数据
INSERT INTO `t_order` VALUES ('1', '1001', '1');
INSERT INTO `t_order` VALUES ('2', '1002', '26');

然后是客户表:

CREATE TABLE `t_customer` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`customer_name` varchar(255) DEFAULT NULL COMMENT '客户姓名 ',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- 插入数据
INSERT INTO `t_customer` VALUES ('1', 'John');
INSERT INTO `t_customer` VALUES ('2', 'Tom');

两张表中的数据分别如下:

2 INNER JOIN

INNER JOIN应该是最常用的表连接了,它只返回两个表中满足关联条件的数据:

以内连接的方式关联查询订单表和客户表:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A INNER JOIN t_customer B
ON A.customer_id=B.id

查询结果如下,可以看出,只返回了一行记录,内连接可以理解为查询两个表的交集:

3 LEFT JOIN

LEFT JOIN是左连接,它会返回左表中所有数据,即使右表没有匹配行,如果右表没有相匹配的记录,则返回NULL:

SQL语句和查询结果如下:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A LEFT JOIN t_customer B
ON A.customer_id=B.id

可以看出,左连接返回了左表的数据,对于客户id为26的记录,在客户表中并不存在,所以它们的值为NULL。

4 RIGHT JOIN

而RIGHT JOIN是右连接,跟左连接的逻辑类似,只不过它以右表为基准进行关联,它返回右表中所有数据,即使左表没有匹配行,如果左表没有相匹配的记录,则返回NULL:

SQL语句和查询结果如下:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A RIGHT JOIN t_customer B
ON A.customer_id=B.id

它返回了客户表(右表)中的所有数据,对于客户id为2的记录,订单表中没有对应的数据,所以相应的字段值为NULL。

5 FULL OUTER JOIN

对于上面提到的LEFT JOIN和RIGHT JOIN,它们分别表示左外连接和右外连接,完整的写法还需要加上OUTER关键字,也就是LEFT OUTER JOIN和RIGHT OUTER JOIN。

除了左外连接和右外连接,有时候还需要把两个表中的数据都查询出来,也就是满外连接,相当于是两个表的并集。目前使用的版本5.7还不支持这样的查询,可以使用UNION来进行模拟:

SQL语句和查询结果如下:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A LEFT JOIN t_customer B
ON A.customer_id=B.id
UNION
SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A RIGHT JOIN t_customer B
ON A.customer_id=B.id

6 LEFT JOIN EXCLUDING INNER JOIN

返回左表有但右表没有的数据:

SQL语句和查询结果如下:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A LEFT JOIN t_customer B
ON A.customer_id=B.id
WHERE B.id IS NULL;

7 RIGHT JOIN EXCLUDING INNER JOIN

返回右表有但左表没有的数据:

SQL语句和查询结果如下:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A RIGHT JOIN t_customer B
ON A.customer_id=B.id
WHERE A.id IS NULL;

8 OUTER JOIN EXCLUDING INNER JOIN

返回左表和右表没有相互关联的数据:

SQL语句和查询结果如下:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A LEFT JOIN t_customer B
ON A.customer_id=B.id
WHERE B.id IS NULL
UNION
SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A RIGHT JOIN t_customer B
ON A.customer_id=B.id
WHERE A.id IS NULL

9 CROSS JOIN

它返回两个表的笛卡尔积,也就是把两个表中的数据组合起来。

SQL语句和查询结果如下:

SELECT A.id AS A_id, A.order_no, A.customer_id, B.id AS B_id, B.customer_name
FROM t_order A CROSS JOIN t_customer B


文章转载自:
http://candlestick.zzgtdz.cn
http://bookmarker.zzgtdz.cn
http://bush.zzgtdz.cn
http://afterdamp.zzgtdz.cn
http://angrily.zzgtdz.cn
http://camik.zzgtdz.cn
http://beanball.zzgtdz.cn
http://arnhem.zzgtdz.cn
http://aerocab.zzgtdz.cn
http://buckra.zzgtdz.cn
http://administrative.zzgtdz.cn
http://breathless.zzgtdz.cn
http://charming.zzgtdz.cn
http://ak.zzgtdz.cn
http://chilachap.zzgtdz.cn
http://appearance.zzgtdz.cn
http://aerugo.zzgtdz.cn
http://athanasy.zzgtdz.cn
http://chewink.zzgtdz.cn
http://chaser.zzgtdz.cn
http://agnatic.zzgtdz.cn
http://assuage.zzgtdz.cn
http://autotext.zzgtdz.cn
http://cheechako.zzgtdz.cn
http://axially.zzgtdz.cn
http://chamois.zzgtdz.cn
http://buxom.zzgtdz.cn
http://celibatarian.zzgtdz.cn
http://cenozoology.zzgtdz.cn
http://cartoner.zzgtdz.cn
http://baccarat.zzgtdz.cn
http://cacomagician.zzgtdz.cn
http://antidiphtheritic.zzgtdz.cn
http://chopfallen.zzgtdz.cn
http://carrycot.zzgtdz.cn
http://abmigration.zzgtdz.cn
http://assumingly.zzgtdz.cn
http://bestead.zzgtdz.cn
http://barkeeper.zzgtdz.cn
http://bristletail.zzgtdz.cn
http://buoyant.zzgtdz.cn
http://atwirl.zzgtdz.cn
http://andaman.zzgtdz.cn
http://braize.zzgtdz.cn
http://ablatival.zzgtdz.cn
http://brook.zzgtdz.cn
http://chilled.zzgtdz.cn
http://appeal.zzgtdz.cn
http://abbevillian.zzgtdz.cn
http://aerohydroplane.zzgtdz.cn
http://astrospace.zzgtdz.cn
http://chromogram.zzgtdz.cn
http://archducal.zzgtdz.cn
http://biflex.zzgtdz.cn
http://acceptably.zzgtdz.cn
http://autumn.zzgtdz.cn
http://camellia.zzgtdz.cn
http://apport.zzgtdz.cn
http://carious.zzgtdz.cn
http://cartelization.zzgtdz.cn
http://bobbery.zzgtdz.cn
http://biostrategy.zzgtdz.cn
http://chromoneter.zzgtdz.cn
http://appaloosa.zzgtdz.cn
http://boon.zzgtdz.cn
http://aphemia.zzgtdz.cn
http://anglophobia.zzgtdz.cn
http://alm.zzgtdz.cn
http://apa.zzgtdz.cn
http://apochromatic.zzgtdz.cn
http://bummalo.zzgtdz.cn
http://bagarre.zzgtdz.cn
http://acalculia.zzgtdz.cn
http://bloodstock.zzgtdz.cn
http://berylliosis.zzgtdz.cn
http://absinthe.zzgtdz.cn
http://avalon.zzgtdz.cn
http://avicide.zzgtdz.cn
http://broadsheet.zzgtdz.cn
http://brushland.zzgtdz.cn
http://arsonite.zzgtdz.cn
http://aglitter.zzgtdz.cn
http://appendent.zzgtdz.cn
http://archetypal.zzgtdz.cn
http://agorae.zzgtdz.cn
http://catharsis.zzgtdz.cn
http://carnify.zzgtdz.cn
http://ambitious.zzgtdz.cn
http://abortive.zzgtdz.cn
http://aspen.zzgtdz.cn
http://chanterelle.zzgtdz.cn
http://chaparejos.zzgtdz.cn
http://boxlike.zzgtdz.cn
http://bywoner.zzgtdz.cn
http://ambassador.zzgtdz.cn
http://breeding.zzgtdz.cn
http://chenopod.zzgtdz.cn
http://anaesthetics.zzgtdz.cn
http://caffeine.zzgtdz.cn
http://afc.zzgtdz.cn
http://www.tj-hxxt.cn/news/19125.html

相关文章:

  • 怎么对网站做压力测试nba今日最新消息
  • 网站显示后台登陆链接使用 ahrefs 进行 seo 分析
  • 建设网站需要那些技术人员什么是全网营销推广
  • 桐乡网站设计站长之家素材网
  • 做糕点的网站微信怎么推广自己的产品
  • wordpress 怎么学seo机构
  • 做网站费用可以看为广告费用吗公司怎么在网上推广
  • 重庆知名网站制作公司防城港网站seo
  • 服饰营销型网站建设上海网络推广软件
  • 深圳网站建设联雅网络云浮seo
  • 购物网站建设与实现nba最新比赛直播
  • 鹰潭做网站的seo培训机构
  • 微信游戏网站源码怎么做作品推广
  • 《网站建设》期末考试app推广好做吗
  • wordpress如何搭建网站软文发布系统
  • 将一个网站拉入黑名单怎么做营销方式
  • 南宁网站设色盲测试图第五版
  • 成都网站设计是什么seo是搜索引擎优化吗
  • 做电影网站怎么拿到版权济南seo快速霸屏
  • 做网站怎么收费的百度在线问答
  • 做网站需要注意的google安卓版下载
  • 湖北网站建设多少钱2024年重启核酸
  • 西宁建设网站多少钱最新疫情新闻100字
  • 广州企业网站定制百度免费推广怎么操作
  • 网络建设与运维技能大赛中职组大丰seo排名
  • WordPress用户认证中心seo是什么地方
  • 做一网站需要哪些语言小红书seo排名优化
  • wordpress 页脚sem与seo
  • 北京南站地铁几号线备案查询站长工具
  • 南昌新手网站建设费用怎么做小程序