摘要:
视图视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。为什么使用视图重用SQL 语句简化复杂的SQL 操作。在编写查询后,可以方便地重用它而不必知道其基本查询细节使用表的一部分而不是整个表保护数据。可以授予用户访问表的特定部分的权限,而不是整个表的访问权限更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据注意... 阅读全文
摘要:
创建表的两种办法:使用DBMS 提供的交互式创建和管理数据库表的工具;直接用SQL 语句创建。表创建基础创建表示例:1 CREATE TABLE Products2 (3 prod_id CHAR(10) NOT NULL,--是否可以为null4 vend_id CHAR(10) NOT NULL,5 prod_name CHAR(254) NOT NULL,6 prod_price DECIMAL(8,2) NOT NULL,7 prod_desc VARCHAR(1000) NULL8 );注意:理解NULL不要把NULL 值与空字符串相混淆... 阅读全文
摘要:
更新数据基本的UPDATE语句,由三部分组成:要更新的表列名和它们的新值确定要更新那些行的过滤条件更新单列示例:1 UPDATE Customers2 SET cust_email = 'kim@thetoystore.com'3 WHERE cust_id = '1000000005';更新多列的示例... 阅读全文
摘要:
NSERT 用来将行插入(或添加)到数据库表。插入有几种方式:插入完整的行;插入行的一部分;插入某些查询的结果。存储到表中每一列的数据在VALUES 子句中给出,必须给每一列提供一个值。如果某列没有值,则应该使用NULL 值(假定表允许对该列指定空值)。各列必须以它们在表定义中出现的次序... 阅读全文
摘要:
什么是组合查询SQL 通过执行多个查询(多条SELECT 语句),并将结果作为一个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。什么时候使用组合查询一般以下两种情况需要使用组合查询:在一个查询中从不同的表返回结构数据;对一个表执行多个查询,按一个查询返回数据。提示:组合查询和多个WHERE 条件多数情况下... 阅读全文
摘要:
1. 使用表别名SQL 除了可以对列名和计算字段使用别名,还允许给表名起别名。这样 做有两个主要理由:缩短SQL 语句;允许在一条SELECT 语句中多次使用相同的表。使用表别名示例:1 SELECT cust_name, cust_contact2 FROM Customers AS C, Orders AS O,注意:Oracle 中没有AS这个关键字... 阅读全文
摘要:
可伸缩(scale)能够适应不断增加的工作量而不失败。设计良好的数据库或应用程序 称为可伸缩性好(scale well)。联结(JOIN)联结(JOIN)是一种机制,用来在一条SELECT 语句中关联表,因此称为联结1. 创建联结创建联结非常简单,指定要联结的所有表以及关联它们的方式即可:1 SELECT vend_name, prod_name, prod_price2 FROM Vendors, Products3 WHERE Vendors.vend_id = Products.vend_id;警告:完全限定列名在引用的列可能出现歧义时,必须使用... 阅读全文
摘要:
子查询(subquery),即嵌套在其他查询中的查询。1. 利用子查询进行过滤SELECT 语句中,子查询总是从内向外处理。示例:1 SELECT cust_name, cust_contact2 FROM Customers3 WHERE cust_id IN (SELECT cust_id4 FROM Order5 WHERE order_num IN (SELECT order_num6 FROM OrderItems7 ... 阅读全文
摘要:
使用GROUP BY子句创建分组示例:SELECT vend_id, COUNT(*) AS num_prodsFROM ProductsGROUP BY vend_id;注意GROUP BY 子句可以包含任意数目的列,因而可以对分组进行嵌套,更细致地进行数据分组。如果分组列中包含具有NULL 值的行,则NULL 将作为一个分组返回。如果列中有多行NULL 值,它们将分为一组。GROUP BY 子句必须出现在WHERE 子句之后,ORDER BY 子句之前。2. 使用HAVING过滤分组除了能用GROUP BY 分组数据外,SQL 还允许过滤分组 阅读全文
摘要:
聚合函数(aggregate function)对某些行运算的函数,计算并返回一个值有时候我们需要对表中的数据进行汇总,而不需要数据本身,为了方便这些类型的检索,SQL给出了5个聚合函数,SQL聚合函数在各主要的SQL实现中得到了相当一致的支持。如下:1.1 AVG()函数AVG()通过对表中行数计数并计算其列值之和,求得该列的平均... 阅读全文