当前位置: 首页 > 知识库问答 >
问题:

此SQL查询是否创建临时表?

汲时铭
2023-03-14
SELECT *
FROM (
        (SELECT table1.id1, table1.id1_type AS id1,
         FROM child AS table2 STRAIGHT_JOIN parent AS table1 ON table1.id1=table2.id1
         AND table1.id2=table2.id2
         AND table1.time=table2.time
         WHERE table1.id1=123456
           AND ((table1.time>=0
                 AND table1.time<=1361936895)))
      UNION ALL
        (SELECT table1.id1 AS id1, table1.id1_type
         FROM child AS table2 STRAIGHT_JOIN step_parent AS table1 ON table1.id1=table2.id1
         AND table1.id2=table2.id2
         AND table1.time=table2.time
         WHERE table1.id1=123456
                 AND table1.time<=1361936895)))) AS T
WHERE id1_type NOT IN (15)
ORDER BY time DESC LIMIT 2000

共有1个答案

叶文博
2023-03-14

这取决于数据库引擎来决定它认为什么是实现查询的最佳策略。假脱机到临时表绝对是它的选项之一。

表别名真的不应该与它有任何关系,正确的列就是正确的列,无论您为它使用什么标签

出于兴趣,您尝试使用join而不是streat_join吗?您可以通过指定streak_join来限制查询优化器的选项。

 类似资料:
  • 问题内容: 我有这个查询: 我只想将其存储在临时表中,以便可以对其进行处理。如果任何人都可以仅包括在SQL Server中创建临时表的语法,那将是很好的。 我尝试了不同的方法,但是迷路了,没有得到想要的结果。 问题答案: 如果您只想在查询中创建一个临时表,以使您可以对存储到其中的结果进行某些操作,则可以执行以下操作: 在查询顶部,然后执行

  • 问题内容: 我可以这样创建一个临时表: 但是新表不可读,因为它说它没有主键。 是exisitingtable的主键,因此我希望它在temp表中得到相同的处理。 但是,无论如何,我宁愿找到某种ORM方式来执行此操作。鉴于: 如何在不执行100000命令的情况下填充一些选定的内容?还是有一种方法可以通过类似于上面的普通SQL版本的查询来创建表? 问题答案: 它不完全是ORM,但为了最初创建表,我将克隆

  • 本文向大家介绍SQL 创建临时表或内存表,包括了SQL 创建临时表或内存表的使用技巧和注意事项,需要的朋友参考一下 示例 PostgreSQL和SQLite 要创建会话本地的临时表: SQL服务器 要创建会话本地的临时表: 创建对所有人可见的临时表: 要创建一个内存表:            

  • 我在Mariadb有大量的数据。我需要从查询创建转储文件。到目前为止我有这样的东西。

  • 本文向大家介绍sql server 创建临时表的使用说明,包括了sql server 创建临时表的使用说明的使用技巧和注意事项,需要的朋友参考一下 临时表产生:A: SELECT INTO和B:CREATE TABLE + INSERT INTO 1. A 要比B 快很多。但是A会锁定tempdb的SYSOBJECTS、SYSINDEXES、SYSCOLUMNS表,在多用户并发的时候,容易产生阻塞

  • 问题内容: 我已经在Google的帮助下编写了此查询,以便从表格中创建定界列表,但是我对此查询一无所知。 谁能解释我发生了什么事 给我结果 问题答案: 解释它的最简单方法是查看实际XML的工作方式。想象一个简单的表: 你可以用 这将创建XML,如下所示 从中删除’Employee’会删除外部xml标记,因此此查询: 将创建 然后,您所执行的操作并不理想,列名“ data()”会导致sql错误,因为