mysql - mysql 中查询的简写符号

标签 mysql sql

是否有一种方法可以为查询提供速记符号?

例如。

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/

相关文章:

mysql - MAMP PRO 在 my.cnf 中禁用 ONLY_FULL_GROUP_BY、NO_ZERO_IN_DATE、NO_ZERO_DATE

php - 从文本文件导入数百万条记录到mysql表

mysql - 如何在 MySQL 中执行具有不同 ID 的计算?

sql - ColdFusion:如何将数字(具有 'comma' (,)/当前插入为 0)从表单字段插入数据库

mysql - 无法在 Amazon EC2 上的 Tomcat7 和 MySQL 之间建立连接池

安装 SQL Server Management Studio 后,SQL Server 服务在服务列表中不可用

c# - SqlException 在 C# 中未处理 - 数据库表中的信息

SQL 两列的全连接

mysql - SQL 键相关错误

javascript - 将谷歌地图自动填充地址API插入mysql数据库