sql基础语句
查询
select语句:查询
select 字段名 from 表名;
select * from T_OWNERS;
update: 修改
update 表名 set 字段=值 where 字段=值;
insert into : 插入
insert into 表名 (字段1,字段2…) values(值1,值2)
where :在结果集中过滤掉不需要的行
from : 接表名
as: 别名
过滤
group by : 对相同列值进行分组
select * from T_OWNERS;
select count(o.ADDRESSID),o.ADDRESSID from T_OWNERS o GROUP BY o.ADDRESSID;
having : 过滤不需要的值
select count(o.ADDRESSID),o.ADDRESSID from T_OWNERS o GROUP BY o.ADDRESSID having o.ADDRESSID>2
distinct : 去重复值
not : 非
//查询HOUSENUMBER 非null的数据
select * from T_OWNERS o where o.HOUSENUMBER is not null
由于4号数据为null,而被过滤掉了
比较操作符
= 、 != 、 < 、 > 、 <> 、 like 、 in 、 between
like : 模糊查询,知道大概范围即可( in是准确范围,需要知道具体值。 )
//查询HOUSENUMBER字段中包含5的数据 %是通配符,代表任意数目
select * from T_OWNERS o where o.HOUSENUMBER like '%5%';
in : 范围查询
//查询 addressId为3 和 5的数据
select * from T_OWNERS o where o.ADDRESSID in ('3','5');
between : 在什么之间
// 查询addressId在2与4之间的数据
select * from T_OWNERS o where o.ADDRESSID between '2' and '4'
<> 与!= 意义一样,但是不能与null进行判断
//以下两项错误,Null不能判断相等
select * from T_OWNERS o where o.ADDRESSID <> null;
select * from T_OWNERS o where o.ADDRESSID != null;
通配符
/- 正好1个字符
% 任意数目的字符(包括0)
排序
order by
//根据addDate时间排序 desc降序 asc升序,默认升序
select * from T_OWNERS order by ADDDATE desc ;
null值
- null是4个字节的关键字
- 两个Null值不能判断相等