美文网首页
mysql三表查询与if函数

mysql三表查询与if函数

作者: 莫听风淋打叶声 | 来源:发表于2018-05-09 16:03 被阅读0次

       今天因为需求需要又改了接口,其中涉及到数据的三表关联和sql if语句,起先不太了解不过经过一段时间探索终于是搞懂了。于是写下一点心得。


SELECT a.user_id,a.nickname,b.phone,b.sex,b.avatar_url,IF(c.id,1,0) FROM group_user a INNER JOIN app_user b ON a.user_id=b.user_id LEFT JOIN friend c ON c.`into_id`=a.user_id AND c.`from_id`=:user_id  WHERE group_id=:group_id";

三张表用于查找群组下的用户字段,然后判断是否是当前用户的好友。

LEFT JOIN:

左表数据有几条则输出几条数据,和又表无关。

SELECT a.user_id,a.nickname,b.phone,b.sex,b.avatar_url,IF(c.id,1,0) FROM group_user a

 INNER JOIN friend c ON c.`into_id`=a.user_id AND c.`from_id`=1

LEFT JOIN app_user b ON a.user_id=b.user_id  WHERE group_id=123456

左表有一条数据

SELECT a.user_id,a.nickname,b.phone,b.sex,b.avatar_url,IF(c.id,1,0) FROM group_user a INNER JOIN app_user b ON a.user_id=b.user_id

LEFT JOIN  friend c ON c.`into_id`=a.user_id AND c.`from_id`=1  WHERE group_id=123456

左表有两条数据

然后是if()函数,其实他判断的是一个表中的一个字段,如上c.id,其实判断的是关联查询的这张表中这个字段是否为空,在此将id字段显示出来

SELECT a.user_id,a.nickname,b.phone,b.sex,b.avatar_url,c.id,IF(c.id,1,0) FROM group_user a INNER JOIN app_user b ON a.user_id=b.user_id

LEFT JOIN  friend c ON c.`into_id`=a.user_id AND c.`from_id`=1  WHERE group_id=123456

如图id字段不为空值则返回1空值返回0.

总结完毕

相关文章

  • mysql三表查询与if函数

    今天因为需求需要又改了接口,其中涉及到数据的三表关联和sql if语句,起先不太了解不过经过一段时间探索终于...

  • mysql 多表查询 数学函数(聚合函数) 字符串函数等

    mysql 多表查询 数学函数(聚合函数) 字符串函数等; 实际:二表查询 数学 字符串 链接:https:/...

  • MySQL5.7从入门到精通 pdf下载

    包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(...

  • mysql必知必会 pdf下载

    包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(...

  • mysql实现递归查询

    mysql中没有提供递归查询的语句,我们通过mysql函数实现这种查询。 对于如下一张表privilege,递归查...

  • MySQL 优化

    MySQL 优化 表关联查询时务必遵循小表驱动大表原则; 使用查询语句where条件时,不允许出现函数,否则索引会...

  • MySQL 优化点

    MySQL 优化 表关联查询时务必遵循小表驱动大表原则; 使用查询语句where条件时,不允许出现函数,否则索引会...

  • 数据分析课程笔记 - 14 - MySQL(三)

    大家好呀~ 今天继续学习 MySQL 的几个高阶用法:条件函数、表连接查询、子查询以及窗口函数。这些内容相对比较抽...

  • MySQL学习笔记二之单表查询与多表查询

    title: MySQL学习笔记二之单表查询与多表查询tags: MySQL 数据库categories: MyS...

  • MySQL中的回表查询与索引覆盖

    了解一下MySQL中的回表查询与索引覆盖。 回表查询 要说回表查询,先要从InnoDB的索引实现说起。InnoDB...

网友评论

      本文标题:mysql三表查询与if函数

      本文链接:https://www.haomeiwen.com/subject/gxtorftx.html