是否有一种方法可以为查询提供速记符号?
例如。
Q1 = (select * from tablename2)
Q2 = (select * from tablename2)
select name from Q1;
select name from Q2;
我知道 View ,但我不打算使用它们。
最佳答案
是的。 Create a view .
CREATE VIEW Q1 AS (
SELECT
name,
id,
othercol
FROM tablename1
);
/* Works with a WHERE clause too */
CREATE VIEW Q2 AS (
SELECT
name,
id,
othercol
FROM tablename2
WHERE othercol = 'some limitation'
);
SELECT name FROM Q1;
/* aggregates work too */
SELECT name, COUNT(*) AS numrows FROM Q2 GROUP BY name;
注意:不建议在 View 中(或者生产代码中的任何地方)SELECT *
。始终明确选择列表中的列,以便它们的顺序具有确定性。
或者,使用 CREATE TEMPORARY TABLE ... SELECT
syntax 创建临时表.
CREATE TEMPORARY TABLE Q1
SELECT name, id, othercol FROM tablename1;
/* select from it */
SELECT name FROM Q1 WHERE id IN (1,2,3,4,5)
/* When done, drop it. Otherwise, it will be dropped when the client connection terminates. */
DROP TABLE Q1;
关于mysql - mysql 中查询的简写符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12764049/