我是SQLite和SQL的新手。我正在处理一些嵌套查询,发现我反复使用了一些子查询。我想知道是否有任何方法可以简化查询以提高可读性。考虑以下查询。
SELECT *
FROM
table1
INNER JOIN
(
SELECT *
FROM
table2
WHERE
col1=1234
) t
ON table1.col3=t.col5
我想通过等同于以下内容(在C宏语法中)的方式简化此操作:
#define MYMACRO(X) SELECT * FROM table2 WHERE col1=X
SELECT * FROM table1 INNER JOIN MYMACRO(1234) t ON table1.col3=t.col5
这可能吗?
注意:我知道我可以简化第一个查询,以免嵌套。我只是用它来解释我的问题。
答案 0 :(得分:0)
您要寻找的是关键字。
With MyMacro AS SELECT * FROM table2 WHERE col1=@parameter
SELECT * FROM table1 INNER JOIN MyMacro ON table1.col3=MyMacro.col5