💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
为何查询这么难? 业务的复杂性、对于效率的要求高。 1、查询指定列 select field1,field2 as f2,field3 f3,... where ...; select * where ...; #* 为通配符,匹配所有的列。 2、对列进行运算 有时候存储的信息并不是我们想要查询的信息,比如存的是出生日期,我们需要查年龄,这时需要去对列进行计算。 select id,2016-age as "年龄" from table_name; ps: 对于常见的 +-*/ 都是支持的,不过对于 / 运算结果是浮点数。 当然列与列之间也可以运算。 3、统计信息 常用统计函数有 count、max、min、sum、avg 等等。比如: select 2016-max(age) as "最大年龄" from table_name; 4、内置函数 select now(); #查询当前时间 5、去除重复数据 在 select 后字段前加 distinct,distinct 即“明确的,确切的”,比如: select id,distinct name from table_name; 6、where 子句 where 子句特点:如果后面表达式为 true,则进行相关处理,不管是查询还是更新/删除。 where 子句的常见形式如下: ① 比较运算符 < > = <= >= != 或 <> <=> 表示 null 安全的等于,即要不两边值相等,要不都为 null。 ② between...and 操作符 要用来选择一个范围的数据,比如 where id between 1 and 100。 ③ in 操作符 有时候条件是一些离散的值,并不是连续的区间,比如 where id in(1,3,5,7,9)。 ④ not 操作符 表示取反,一般不单独使用,通常都与 in/between...and 一起使用; 使用位置在相应字段之后,其他运算符之前。 ⑤ is (not) null 是否为空 用来查找字段值为null的记录,为什么不用 where xx = null 呢,因为该运算会返回 null,where 一直为假,也可以用 where xx <=> null 来查找。 ⑥ like 模式匹配 通常与 % 和 _ 一起使用,_ 代表一个字符,% 代表零个或多个字符,比如: where name like "%name_"; ⑦ regexp 正则匹配 regexp(regular expression),别名 rlike,通常用来执行更加复杂的字符串比较运算, ps: like 和 rlike 的区别是 like 要求运算符两边不是局部与全部的关系,而是一一对应。