重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SELECT SUM(money) FROM name WHERE ID=100 因为100为数字,所以不用加上' '这个引号,直接查询出来的值就是所需要的值。
振兴ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
用来查询数据库中表的数据。关键字: select 、where 等。
注:查询只是对数据的一种显示,不会对数据库进行修改
1.查询所有数据 : select * from 表 ; “*” 表示所有列; select id ,name, age, sex, birthday from 表 ; (注:全部字段写法相对于“*”的写法查询效率要高,但写法比较麻烦)
2.查询部分列 : select 字段1, 字段2……. from 表 ;
3.别名查询( 别名作用是方便观看和处理数据)查询时可以给表、列指定别名,关键字: AS
SELECT 字段1 AS 别名1,字段2 AS 别名2……. from 表; 或者 SELECT 字段1 别名1,字段2 别名2……. from 表 ; AS 可以不写
4.清除重复值 ( 查询指定列并且数据不出现重复 ): SELECT DISTINCT 字段1,字段2...... FORM 表;
5.查询结果进行运算 ( 注意:参与计算列必须是数值类型 )
5.1与固定值计算: SELECT 列名1+固定值 FROM 表 ;
5.2列与列计算 : SELECT 列1+ 列2 FROM 表;
6.条件查询 : SELECT * From 表 WHERE 字段 = 值;
四张表联合查询呗。
假设四张表为A,B,C,D
你要查A表某时间段内的ID,在BCD三张表内的数据。
那么有一个问题,就是你要的是什么结果,三张表的字段一样吗?
如果三张表的字段一样,那么就一张一张查,然后union all就可以了。
如果不是而是要的B的一个字段,C表的几个字段,D表的几个字段,那么就是四张表联合查询就可以了,只是where后面的条件写的多一些。
比如
where a.id=XXXXX(子查询) and a.id=b.id and b.id=c.id and c.id=d.id and a.id=c.id and a.id=d.id and b.id=d.id
说白了就是为了保险起见,你要写6个,两两都相等,这样就绝对不会有问题(其实写4个(分别和a.id相等),或者递归相等可能也对,但是写六个绝对不会有错,所以我就写了六个,具体的写法要只能去试),前面的select就是a.id ,b.某某字段,c.某某字段,XXXXXXX之类的就可以了
先创建一个函数
如下
CREATE FUNCTION isnum(
p_string VARCHAR(32)
)
RETURNS int(4)
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT '检查字符串是否为纯数字'
BEGIN
/*检查字符串是否为纯数字*/
/*返回值:1-为纯数字 0-非纯数字*/
DECLARE iResult INT DEFAULT 0;
SELECT p_string REGEXP '^[0-9]*$' INTO iResult;
IF iResult = 1 THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END;
然后
select * from 表名 where isnum(字段名) 0 and cast(字段名 as DECIMAL) 1000 and cast(字段名 as DECIMAL)2000
这句的表名和字段名你替换成你自己的