Mysql常用指令(中)

数据处理函数

  • 文本处理函数
    mysql文本处理函数
    mysql文本处理函数
    其中soundex是指“发言模糊搜索”,例:SELECT cust_name, cust_contact FROM customers WHERE Soundex(cust_contact) = 'Lie'; 可以搜索出Lee的表列。

  • 日期和时间处理函数
    日期和时间处理函数

  • 数值处理函数
    数值处理函数

汇总数据

mysql聚集函数处理表列数据

  • 限定符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补充数据返回。

猜你喜欢

转载自my.oschina.net/u/3554461/blog/1636177