(1)查询表中全部信息:
select * from 表名
(2)查询表中指定列的信息:
select 列1,列2 from 表名
(3)去重:
select distinct 列... from 表名
(4)拼接结果:
select concat(列1,列2) from 表名
(5)设置别名(注意:关键字as可以省略)
select 列 as 别名 from 表名
select 列 别名 from 表名
(6)条件查询:
select 列... from 表名 where 条件
条件中比较运算符:(等于:= 大于:> 大于等于:>= 小于:< 小于等于:<= 不等于:!= 或 <>)
(7)where 列 比较运算符 值
注意:字符串、日期需使用单引号括起来
(8)逻辑运算符(并且:and或&& 或:or 非:not或!)
where 条件1 逻辑运算符 条件2
where not 条件
(9)范围查询:
where 列 between 条件1 and 条件2 //列在这个区间的值where 列 not between 条件1 and 条件2 //不在这个区间where !( 列 between 条件1 and 条件2 ) //同样表示不在这个区间
集合查询(判断列的值是否在指定的集合中):
where 列 in(值1,值2) //列中的数据是in后的值里面的where 列 not in(值1,值2) //不是in中指定值的数据
null值查询(注意:列中值为null不能使用=去查询):
where 列 is null //查询列中值为null的数据
资料来源 网页链接
需求说明 1、我需要查询某列不重复的数据 2、并且显示不重复数据的所有项 sql语句如下select * from data group by address 如果是仅仅查询某列不重复数据,只需要一列 效果如下 sql语句select DISTINCT address from data 这里有一个非常非常需要注意的地方: SELECT DISTINCT [字段名]后面不能再跟其他的字段,否则检索出来的记录仍然会含有重复项; 错误写法: SELECT DISTINCT [字段名] ,[其他字段名] FROM [表名] WHERE [检索条件字句]如果我们的记录集里还需要有其他字段值 ,那怎么办呢? 实际上,我们完全可以用另一种办法来解决问题只是需要用到子查询而已! 使用GROUP BY 分组 有一点需要注意: 使用带有GROUP BY字句的查询语句时,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合组函数 所以用这样一句SQL就可以去掉重复项了: select * from msg group by terminal_id 这样就得到我们想要的结果集了:like运算符:对字符串进行模糊查找
语法:
xx like '要查找的内容'
含义:
实现对字符串的某种特征信息的模糊查找。它其实依赖于以下2个特殊的"符号"
%:它代表任何个数的任何字符
_ 它代表一个任何字符
例1 select*from tab_load_data where f5 like"%汨罗%"
例2 select*from tab_load_data where name like "%韩%"
常见例子和含义
name like '%罗%':表示name中“罗这一字的所有数据行
name like '罗%':表示name中罗开头的所有数据行比如罗曼罗兰
name like ''%罗" 表示以罗结尾所有数据行比如c罗 魂斗罗
name like '罗_'以罗开头并只有2个字符所有数据行比如 罗兰
name like '_罗'以罗结尾并只有2个字符所有数据行比如c罗
要找含有%或_怎么办?
xx like '%\%%' 表示xx中含有百分号(%)
例3 select *from tab_load_data where name like '%军'
例2 select *from tab_load_data where name like '韩%'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)