【mysql】常用sql积累

    xiaoxiao2021-03-25  77

    ·顺序问题

    SELECT* from t_employee

    ORDERBY FAge DESC

    WHEREFAge>23

    ·集合匹配

    SELECT* FROM t_employee

    WHEREFName LIKE ' [SJ]%'

     

    ELECT* FROM T_Employee

    WHEREFName LIKE '[^SJ]%'

     

    ·范围值检测

    SELECT* FROM T_Employee

    WHEREFAGE IN(23,24,25,26,27)

     

    ·数据分组与聚合函数

    SELECTFAge,COUNT(*) AS CountOfThisAge FROM t_employee

    GROUPBY FAge

     

    ·having语句(HAVING语句能够使用的语法和WHERE几乎是一样的,不过使用WHERE的时候GROUPBY子句要位于WHERE子句之后,而使HAVING子句的时候GROUP BY子句要位于HAVING子句之后)

    SELECTFAge,COUNT(*) AS CountOfThisAge FROM T_Employee

    GROUPBY FAge

    HAVINGCOUNT(*) IN (1,3)

    ·限制结果集行数

    MYSQL中提供了LIMIT关键字用来限制返回的结果集,LIMIT放在SELECT语句的最后位置,语法为“LIMIT首行行号,要返回的结果集的最大数目”。比如下面的SQL语句将返回按照工资降序排列的从第二行开始(行号从0开始)的最多五条记录:

    SELECT* FROM T_Employee ORDER BY FSalary DESC LIMIT 2,5

    ·抑制重复数据

    SELECTDISTINCT FDepartment FROM T_Employee

    ·常量字段

    SELECT'CowNew集团',918000000,FName,FAge,FSubCompany FROM T_Employee

    ·计算字段长度

    SELECTFName, LENGTH(FName) AS namelength FROMT_Employee

    WHEREFName IS NOT NULL

    ·截取字段值的一部分(SUBSTRING)

    SELECTFName, SUBSTRING(FName,2,3) FROM T_Employee

    WHEREFName IS NOT NULL

    ·UNION连接多个结果集(联合查询:一是每个结果集必须有相同的列数;二是每个结果集的列必须类型相容。)

    SELECTFNumber,FName,FAge FROM T_Employee

    UNION

    SELECTFIdCardNumber,FName,FAge FROM T_TempEmployee

    ·UNION ALL(查询所有)

    SELECTFName,FAge FROM T_Employee

    UNIONALL

    SELECTFName,FAge FROM T_TempEmployee

    转载请注明原文地址: https://ju.6miu.com/read-34407.html

    最新回复(0)