WHERE vend_id IN ( 'DLL01', 'BRS01' )
IN 起到作用类似于or,速度更快,逻辑更清晰。
expanded_price
成为计算出来的新列。SELECT vend_id, COUNT(*) AS num_prods
即对每一个组计算行数。
注意:多行NULL会分为一组,GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。
可以对一个以上的列进行 GROUP BYSELECT Company, OrderNumber
FROM Orders
ORDER BY Company DESC, OrderNumber ASC
可以 ORDER BY 列名1,列名2; 先按列名1内容排序,排序结果相同的按列名2内容排序。 列名后接 DESC 按该列内容倒序排列,ASC 正序(默认)。 ORDER BY 命令放在查询、分组等语句的最后。
DROP TABLE CustCopy;
RENAME Table oldTable TO newTable;
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_state IN ('IL','IN','MI')
UNION ALL
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_name = 'Fun4All';
UNION ALL 链接两句查询语句,统一返回结果,包含重复结果。 去掉ALL以后,去掉重复结果。 此处(从同一个表中查询)可以用WHERE , OR代替。 常用作从不同表中查询时,只要列数相同就可以拼接到一起,列名按照第一句中查询的列名。
对已存在的表,进行筛选,数据处理,联结等操作后返回的数据,创建的虚拟表。视图是为了重用和简化常用的查询。对视图的查询同表。 视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。
DROP VIEW ProductCustomers;
CREATE DATABASE database_name
DROP DATABASE 数据库名称