SQL 语句中的union操作符
前端时间,用到了union操作符,周末有时间总结下,w3c手册内容如下:
SQL UNION操作符
UNION操作符用于合并两个或多个select语句的结果集。
注意:UNION内部select语句必须有相同数量的列。列也必须有相同的数据类型。
最近在做一个微博用户搜索模块,根据用户名搜索到符合条件的用户,显示一个关注状态,关注状态分3中,相互关注,已关注,没有关注。
显示效果如图所示:
1:使用like模糊查询,查到符合条件的用户(排除自己在外),得到一个结果集 $result。
2:重新组合$list,使用union进行sql查询,
foreach ($result as $k => $v) { //是否互相关注 $sql = '(select `follow` from `wb_follow` where follow=' . $v['uid'] . ' and
fans=' . $_SESSION['uid'] .')
union
(select `follow` from `wb_follow` where follow=' . $_SESSION['uid'] . ' and
fans=' . $v['uid'] . ') '; $mutual = $db->query($sql);
通过以上sql语句进行查询,得到合并后的结果集$mutual,最后判断count($mutual),组装到$result中,再进行分配到
相对应的模板中就可以了。