这实际上是一个两部分问题。
首先:我想知道是否有办法在我刚创建的视图中显示信息。我无法在线找到任何类似于可用于视图的DISPLAY Tables查询。
创建我的视图的查询是:
创建视图View1 AS 选择 * 来自CustOrder 在哪里shipToName =' Jim Bob'
其次,一旦我发现如何从上面显示特定视图,我该如何找到最高的" paidPrice" (CustOrder表中的一列)?
提前谢谢大家!
答案 0 :(得分:3)
答案 1 :(得分:1)
视图只是存储的SELECT
语句,但从客户端的角度来看,它们大多等同于真实表。要与您创建的视图进行交互,您可以简单地针对它发出SELECT
语句。
-- Regular SELECT statements, no different
-- from querying against a real table.
-- Get all rows from the view
SELECT * FROM View1
-- Get the MAX() value from a column
SELECT MAX(paidPrice) AS maxprice FROM View1
您还可以创建表示多个联接表的视图。这是一种常见的用例,其中经常连接许多表以进行查询。您可以使用视图来处理联接,并仅将某些列公开给某些数据库用户,而不是授予对模式的完全访问权。
CREATE VIEW joinview AS (
SELECT
t1.id,
t1.col1,
t1.col2,
-- The view will only expose the alias
t1.col3 AS aliased_name,
-- Use an alias to avoid a column name collision
t2.col1 AS t2c1,
-- The view will expose the column name without the table name
t2.col99
FROM
t1 INNER JOIN t2 ON t1.id = t2.t1_id
);
现在,视图只会以SELECT
查询的形式公开列。您将不再需要引用各个表,因为它会产生平坦的输出。
-- Retrieve 2 columns from the join view
SELECT col99, aliased_name FROM joinview
最后,因为视图就像普通表一样,您也可以将它们连接到其他表或视图。但是在使用连接组装视图时要小心,以确保基础表被适当地编入索引。否则,视图可能表现不佳(就像没有适当索引时执行的普通SELECT
查询一样)。