数据处理函数
-
文本处理函数
其中soundex是指“发言模糊搜索”,例:SELECT cust_name, cust_contact FROM customers WHERE Soundex(cust_contact) = 'Lie'; 可以搜索出Lee的表列。 -
日期和时间处理函数
-
数值处理函数
汇总数据
- 限定符DISTINCT限定列中不同的行 省略时默认值为ALL,聚集函数可以组合使用处理多个列查询
- AVG: SELECT AVG(prod_price) AS prod_avg FROM products WHERE prod_name = 'fish'; (AVG()函数忽略列值为NULL的行)
- COUNT: SELECT COUNT(*) AS pro_rowSum FROM products; 返回总行数,包括NULL。
- MAX: SELECT MAX(prod_price) AS pro_expensive FROM products; 返回筛选条件列的最高价格;与此相反的有MIN函数
- SUM: SELECT SUM(pro_price) AS pro_total FROM products WHERE pro_price > 200; 取和
分组数据
- GROUP BY 和 HAVING: SELECT cust_id, COUNT(*) AS orders FROM orders GROUP BY cust_id HAVING * >= 2; HAVING 具有和WHERE相同的功能,但是具有分组特性。
ORDER BY 和 GROUP BY 一起使用以及其区别
联结表
- 通过主键与外键,将两个表中具有的相关联的键匹配查询所需要的表结构:
SELECT vend_name, prod_name, prod_price
FROM vendors INNER JOIN products
ON vendors.vend_id = products.prod_id ;
(等价于)
SELECT vend_name, prod_name, prod_price
FROM vendors, products
WHERE vendors.vend_id = products.prod_id ;
可以使用AND联结多个子句
- 外连接(左连接和右连接):
SELECT vend_name, prod_name, prod_price
FROM vendors LEFT OUTER JOIN products
ON vendors.vend_id = products.prod_id ;
和内连接相比,外连接以LEFT或RIGHT表为主,对于没有连接的行以NULL补充数据返回。