暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T WITH AS

墨天轮 2019-10-12
342

WITH AS

功能描述

定义一个SQL片断,该SQL片断会被整个SQL语句用到。

可以使SQL语句的可读性更高。存储SQL片段的表与基本表不同,是一个虚表。数据库不存放视图对应的定义和数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从存储SQL片段的表中查询出的数据也随之改变。

语法格式

WITH { table_name AS select_statement1 }[ , ...] select_statement2

参数说明

  • table_name

    用户自定义的存储SQL片段的表的名称。

  • select_statement1

    从基本表中查询数据的SELECT语句。

  • select_statement2

    从用户自定义的存储SQL片段的表中查询数据的SELECT语句。

示例

使用WITH AS查询数据。

--删除表education。 DROP TABLE IF EXISTS education;
--创建表education。 CREATE TABLE education(staff_id INT, higest_degree CHAR(8) NOT NULL, graduate_school VARCHAR(64),graduate_date DATETIME, education_note VARCHAR(70));
--向表education中插入记录1。 INSERT INTO education(staff_id,higest_degree,graduate_school,graduate_date,education_note) VALUES(10,'doctor','Xidian University','2017-07-06 12:00:00','211'); --向表education中插入记录2。 INSERT INTO education(staff_id,higest_degree,graduate_school,graduate_date,education_note) VALUES(11,'master','Northwestern Polytechnical University','2017-07-06 12:00:00','211&985'); --向表education中插入记录3。 INSERT INTO education(staff_id,higest_degree,graduate_school,graduate_date,education_note) VALUES(12,'scholar','Xi’an University of Architecture and Technology','2017-07-06 12:00:00','not 211 or 985'); --提交事务。 COMMIT;
--使用WITH AS查询数据。 WITH tmp AS (SELECT staff_id, higest_degree FROM education) SELECT * FROM tmp;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论