mysql临时表,mysql内联

2020-10-12 阅读 毛英卓整理

内容简介:mysql的存储过程本文的例子描述了MySQL左右内部连接的使用。与您分享以供参考。具体如下:以实例分析MySQL的左连接。右连接和内部连接代码如下:create table usmysql外键怎么设置...

本文实例讲述了mysql的左右内连接用法。

分享给大家供大家参考。

具体如下:用个例子来解析下mysql的左连接,右连接和内连接代码如下:createtableuser_id(iddecimal(18));createtableuser_profile(iddecimal(18),namevarchar(255));insertintouser_idvalues(1);insertintouser_idvalues(2);insertintouser_idvalues(3);insertintouser_idvalues(4);insertintouser_idvalues(5);insertintouser_idvalues(6);insertintouser_idvalues(1);insertintouser_profilevalues(1,aa);insertintouser_profilevalues(2,bb);insertintouser_profilevalues(3,cc);insertintouser_profilevalues(4,dd);insertintouser_profilevalues(5,ee);insertintouser_profilevalues(5,EE);insertintouser_profilevalues(8,'zz');一.左连接:代码如下:mysqlselecta.idid,ifnull(b.name,'N/A')namefromuser_idaleftjoinuser_profilebona.id=b.id;mysqlselecta.idid,ifnull(b.name,'N/A')namefromuser_idaleftjoinuser_profilebona.id=b.id;------------|id|name|------------|1|aa||2|bb||3|cc||4|dd||5|ee||5|EE||6|N/A||1|aa|------------8rowsinset(0.00sec)user_id居左,故谓之左连接。

这种情况下,以user_id为主,即user_id中的所有记录均会被列出。

分以下三种情况:1.对于user_id中的每一条记录对应的id如果在user_profile中也恰好存在而且刚好只有一条,那么就会在返回的结果中形成一条新的记录。

如上面1,2,3,4对应的情况。

2.对于user_id中的每一条记录对应的id如果在user_profile中也恰好存在而且有N条,那么就会在返回的结果中形成N条新的记录。

如上面的5对应的情况。

3.对于user_id中的每一条记录对应的id如果在user_profile中不存在,那么就会在返回的结果中形成一条条新的记录,且该记录的右边全部NULL。

如上面的6对应的情况。

不符合上面三条规则的记录不会被列出。

比如,要查询在一个相关的表中不存在的数据,通过id关联,要查出user_id表中存在user_profile中不存在的记录:代码如下:selectcount(*)fromuser_idleftjoinuser_profileonuser_id.id=user_profile.idwhereuser_profile.idisnull;二.右连接user_profile居右,故谓之右连接。

这种情况下,以user_profile为主,即user_profile的所有记录均会被列出。

分以下三种情况:1.对于user_profile中的每一条记录对应的id如果在user_id中也恰好存在而且刚好只有一条,那么就会在返回的结果中形成一条新的记录。

如上面2,3,4,5对应的情况。

2.对于user_profile中的每一条记录对应的id如果在user_id中也恰好存在而且有N条,那么就会在返回的结果中形成N条新的记录。

如上面的1对应的情况。

3.对于user_profile中的每一条记录对应的id如果user_id中不存在,那么就会在返回的结果中形成一条条新的记录,且该记录的左边全部NULL。

如上面的8对应的情况。

不符合上面三条规则的记录不会被列出。

三.内连接MySQL内连接的数据记录中,不会存在字段为NULL的情况。

可以简单地认为,内链接的结果就是在左连接或者右连接的结果中剔除存在字段为NULL的记录后所得到的结果,另外,MySQL不支持fulljoin代码如下:mysqlselect*fromuser_idainnerjoinuser_profilebona.id=b.id;------------------|id|id|name|------------------|1|1|aa||1|1|aa||2|2|bb||3|3|cc||4|4|dd||5|5|ee||5|5|EE|------------------7rowsinset(0.00sec)mysqlselect*fromuser_ida,user_profilebwherea.id=b.id;------------------|id|id|name|------------------|1|1|aa||1|1|aa||2|2|bb||3|3|cc||4|4|dd||5|5|ee||5|5|EE|------------------7rowsinset(0.00sec)mysqlselect*fromuser_idajoinuser_profilebona.id=b.id;------------------|id|id|name|------------------|1|1|aa||1|1|aa||2|2|bb||3|3|cc||4|4|dd||5|5|ee||5|5|EE|------------------7rowsinset(0.00sec)希望本文所述对大家的MySQL程序设计有所帮助。

作者给您推荐的内容
  1. 如何处理PP红包闪PP红包闪退怎么办PP红包app出现闪退现象解决办法回?小编玩PP红包已经有一段时间了。今天,当我再次打开它时,我发现PP红包不知怎么地又闪了回来。考虑到很多网友可能会遇到...

  2. 很多steam玩家想要将库存中的物品进行出售,下面小编给大家带来Steam出售库存卡牌或道具教程,需要的朋友可以参考下。01、首先打开Steam,找到社区。02、再点击社区里面的市场。03、在社区市场里...

  3. ghostwin10系统越来越流行,很多网友下载了ghost windows 10系统文件,但是他们不知道如何安装win10系统,这让他们非常不安,所以让win7家庭编辑windows7...

  4. 我们经常会在PPT的放映中看到一幅画缓缓打开,画面非常唯美,那么你知道是如何制作的吗?让我们一起来看看ppt如何制作卷轴动画效果吧!01、首先先在网上找一张图片作为画的内容,新建一个...

  5. ppt动画设置现在许多学科往往需要做一些研究性学习或调查报告。使用PowerPoint是个好主意。很多时候,我们需要添加一些闪光动画,使我们的幻灯片更加生动,美丽和有说服力。ppt如何...

  6. 第一步:进入WPS界面,点击工具栏中的insert。第二步:在菜单栏中单击窗体wps怎么做表格。下面你将有三种方法来制作表格。选择一种方法来绘制要生成的行和列。第三步:表格制作完成后,点击...

  7. 01、点击电脑下方的开始键,找到设备与打印机。02、找到要共享的打印机,右键点开弹出式菜单。03、点击弹出式菜单中的打印...

  8. 在运行MAC系统时,许多程序和文件会在不知电脑一键锁屏不觉中被打开。如果重新打开桌面程序,将返回桌面。关闭一页很麻烦。在此之前,2。找到系统偏好。点击任务控制;4。找出下...

  9. 自从滴滴出行APP发布以来,现在人们出行方式变得十分快捷,那么如何使用滴滴出行打车呢,请看本文教程。01、打开支付宝:02、在搜索栏搜索【滴滴出行】:03、点击箭头所指【滴滴出行】:0...

  10. 重装win7win7 32位安装版本的优点是什么?因为32位W7安装版本系统具有稳定性、安全性、运行速度快、清洁无毒等优点。该软件根据用户的习惯进行了精心的设置,对驱动程序装机...