mysql中查询的简写表示法

时间:2012-10-06 21:30:23

标签: mysql sql

是否有方法为查询提供简写符号?

离。

Q1 = (select * from tablename2) 

Q2 = (select * from tablename2)

select name from Q1; 
select name from Q2;

我知道观点,但我不打算使用它们。

3 个答案:

答案 0 :(得分:2)

是。 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;

注意:不建议视图中的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;

答案 1 :(得分:0)

我认为你在谈论观点。查看docs了解他们。

答案 2 :(得分:0)

视图类似于您要查找的内容。

但对于其他查询或更新,“视图”不是“别名”或“外观”的符号方便。一个好的比喻是“视图是虚拟表”。在MSSQL中,“views”也是增强安全性的有效方法。

这是一篇关于这个主题的好文章: