You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询SQL中一张表独有的列及full outer join语句报错原因

SQL语句执行报错原因及解决方案

报错核心原因

  • desc是SQL中用于查看表结构的专有命令,其输出属于控制台展示结果,不是可用于关联查询的数据集,不能直接放在FROM子句或关联逻辑中当做查询对象使用。
  • 子查询语法不合法:SQL要求()包裹的子查询必须是完整的SELECT ... FROM ...结构,你写的括号内容既没有SELECT关键字,也没有合法的查询数据源,解析器无法识别该结构,因此抛出mismatched input 'from' expecting <EOF>的语法错误。

正确实现方案

要获取两张表的差异列,需要查询数据库自带的元数据信息表(通用为INFORMATION_SCHEMA,不同数据库可能存在命名差异),拿到两张表的列名后再做比对:

方案1:查询A表有但B表没有的列

SELECT column_name 
FROM information_schema.columns 
WHERE table_name = 'A'
  AND column_name NOT IN (
    SELECT column_name FROM information_schema.columns WHERE table_name = 'B'
);

方案2:同时查询两张表各自独有的列

SELECT 
  a.column_name AS a_specific_column,
  b.column_name AS b_specific_column
FROM (SELECT column_name FROM information_schema.columns WHERE table_name = 'A') a
FULL OUTER JOIN (SELECT column_name FROM information_schema.columns WHERE table_name = 'B') b
ON a.column_name = b.column_name
WHERE a.column_name IS NULL OR b.column_name IS NULL;

内容的提问来源于stack exchange,提问作者jacolot329

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 00:39:01