Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL筛选一列中的所有值,但不筛选另一列中的值_Mysql_Sql - Fatal编程技术网

Mysql SQL筛选一列中的所有值,但不筛选另一列中的值

Mysql SQL筛选一列中的所有值,但不筛选另一列中的值,mysql,sql,Mysql,Sql,我创建了一个查询,如下所示: SELECT t1.blah , t2.blah FROM table1 AS t1 INNER JOIN table2 AS t2 ON (t1.id = t2.id) 所以结果看起来像 t1.blah t2.blah ================= 390 400 401 401 501 501 36 36 我想要的是提取t1.blah中的所有值,但决不提取t2.blah中的所有值。在我的示例

我创建了一个查询,如下所示:

SELECT t1.blah , t2.blah
FROM table1 AS t1
    INNER JOIN table2 AS t2 ON (t1.id = t2.id)
所以结果看起来像

t1.blah   t2.blah
=================
390       400
401       401
501       501
36        36
我想要的是提取t1.blah中的所有值,但决不提取t2.blah中的所有值。在我的示例中,我应该得到值390作为最终结果


我试图用
进行一些测试,但没有成功。例如,我如何在mysql中实现这一点。

您可以在两个表中的
blah
不匹配上再加一个条件:

选择t1.blah,t2.blah
从表1中取t1
内部连接表2为t2
在t1.id=t2.id上
还有t1,等等t2,等等

@RaymondNijland就我个人而言,我总是喜欢使用内部连接而不是左连接(只要可以使用内部连接),因为我发现它更有效。关于另一个主题,您是否有使用5.7+中引入的
JSON_ARRAYAGG()
函数的经验?我发现MySQL在使用JSON_ArrayAg时没有使用任何索引,而不是使用GROUP_CONCAT和CONCAT函数创建JSON。“就个人而言,我总是喜欢使用内部连接而不是左连接(只要可以使用内部连接),因为我发现它更有效。”是的,我删除了我的注释,但你完全是对的。。LEFT JOIN将强制MySQL进入需要的位置,以便在LEFT JOIN子句之前对左表进行完全表/索引扫描。。出于某种原因,我从来没有想到过使用排除内部联接来选择/检查bizar是如何的…“在不同的主题上,有没有使用JSON_ARRAYAGG()的经验5.7+中引入的函数?我注意到MySQL在使用JSON_ArrayAg时没有使用任何索引,而使用GROUP_CONCAT和CONCAT函数创建JSON时则没有使用任何索引。“用你知道的和我一样好的例子提出一个问题,在这里的评论中没有真正回答;-)@RaymondNijland是的,在得出结论之前,我正在对5.7的不同补丁进行一些测试,并发布了一个问题(我甚至可能在mysql网站上做一个bug报告)。。好的,我可以在源代码中窥探一下
JSON_ARRAYAGG
是如何实现的,MySQL以“快速”添加新功能而闻名,对这些功能的优化可能会在几个月后、几年后或根本不会发生。。