⑴ sql中如何把表转换为试图
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
***********************************************
什么是视图?
在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。
SQL CREATE VIEW 语法:
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
注释:视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。
SQL CREATE VIEW 实例
可以从某个查询内部、某个存储过程内部,或者从另一个视图内部来使用视图。
通过向视图添加函数、join 等等,我们可以向用户精确地提交我们希望提交的数据。
样本数据库 Northwind 拥有一些被默认安装的视图。视图 "Current Proct List" 会
从 Procts 表列出所有正在使用的产品。这个视图使用下列 SQL 创建:
CREATE VIEW [Current Proct List] AS
SELECT ProctID,ProctName
FROM Procts
WHERE Discontinued=No
我们可以查询上面这个视图:
SELECT * FROM [Current Proct List]
Northwind 样本数据库的另一个视图会选取 Procts 表中
所有单位价格高于平均单位价格的产品:
CREATE VIEW [Procts Above Average Price] AS
SELECT ProctName,UnitPrice
FROM Procts
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Procts)
我们可以像这样查询上面这个视图:
SELECT * FROM [Procts Above Average Price]
另一个来自 Northwind 数据库的视图实例会计算在 1997 年每个种类的销售总数。请注意,这个视图会从另一个名为 "Proct Sales for 1997" 的视图那里选取数据:
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProctSales) AS CategorySales
FROM [Proct Sales for 1997]
GROUP BY CategoryName
我们可以像这样查询上面这个视图:
SELECT * FROM [Category Sales For 1997]我们也可以向查询添加条件。
现在,我们仅仅需要查看 "Beverages" 类的全部销量:
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'
************************************************************
SQL 更新视图
您可以使用下面的语法来更新视图:
SQL CREATE OR REPLACE VIEW Syntax
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
现在,我们希望向 "Current Proct List" 视图添加 "Category" 列。
我们将通过下列 SQL 更新视图:
CREATE VIEW [Current Proct List] AS
SELECT ProctID,ProctName,Category
FROM Procts
WHERE Discontinued=No
************************************************************
SQL 撤销视图
您可以通过 DROP VIEW 命令来删除视图。
SQL DROP VIEW Syntax
DROP VIEW view_name
⑵ sql三张表合成一个视图
可以的,如果用union 就要列都对应好
⑶ 我想在SQL里建一个视图,有三张表 ,需要从这三张表里取数据
SELECT
--quantity,discountprice,abbrev,--这三个不需要么?
customer_id,checkdate,SUM(xiaoshoue)
FROM(
SELECT
A.checkid,customer_id,checkdate,
quantity,discountprice,
abbrev,
quantity*discountpriceASxiaoshoue
FROM
CHECKA
FULLJOINCHECKGOODSONA.CHECKID=B.CHECKID
FULLJOINcustomerCONA.customer_id=C.customer_id
)TAL
GROUPBY
--quantity,discountprice,abbrev,
customer_id,checkdate
因为没有具体的表环境,无法实测。
希望你能看懂上面的关键的代码,然后自个去学会相关关键词的意义,理解后再去调试。
⑷ mysql如何将这三张表合成一个视图
create view iae
as
select `meshcg` as `cg`,`name`,`price`,`address`,`brand`,`datetime` from `mesh`
union
select `toolscg` as `cg`,`name`,`price`,`address`,`brand`,`datetime` from `tools`
⑸ 如何用sql语句将三张表合并为一张表
select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
into
x
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id
这样三张表的数据就都放在表x里了
注意是在表x不存在的情况下
存在的话这样
insert
into
x
select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id
⑹ SQL三表统计成一张视图。
这个有几种写法,我就写一种相对比较好理解的。
select 表1.id,表1.内容,a.表2金额,b.表3金额,a.表2金额+b.表3金额 总额 from
表1,
(select id,sum(金额) 表2金额 from 表2 group by id) a,
(select id,sum(金额) 表3金额 from 表3 group by id) b where 表1.id=b.id and 表1.id=a.id
⑺ 如何用SQL语句创建一个视图
使用create view语句就可以创建视图了,具体语句如下:
create view viewname as select * from Tab_EdsProd(Tab_EdsProd是表的名字)where (后面可以接一线限制的条件)。
删除视图:drop view viewname。
(7)sql如何将三张表做成一张视图扩展阅读
视图的作用:
1、使用视图,可以定制用户数据,聚焦特定的数据。
2、使用视图,可以简化数据操作。
3、使用视图,基表中的数据就有了一定的安全性。因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户。
视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改和删除,可以保证数据的安全性。
4、使用视图可以合并分离的数据,创建分区视图。