SQL中常见的几种函数使用

1.where函数语句

单表查询

where可以查询单个表中某个特定值的数据或者符合某些条件的信息
student表
IDNAMESTU_IDSEXBIRTHBORN_INmobile
1张勇20150010201199501北京13526438935
2李阳20150010202199302上海13182170664
3李玲玉20150010203199506广州18505030888
4秦天福20150010204199403成都18983145678
5欧阳娜拉20150010205199410重庆13513680001
6王淑芬20150010206199507重庆13721766456
7赵永帅20150010207199312广州15016088170
8钱永琪20150010208199506深圳13286158743
9华天硕20150010209199411香港18721270668
10江疏影20150010210199509郑州17601068006


例1:查询名字叫王淑芬的学生信息 
          select * from student where name='王淑芬';                    ---输出王淑芬的信息
例2:查询所有女生的学生信息
 select * from student where sex='女';                                   ---输出结果为所有女生的信息
例3:查询出生地为广州的男生信息
          select * from student where born_in='广州' and sex='男';          ---输出赵永帅的信息

两个表或多表查询

可以查询两个表中有共同属性的数据信息
stu_info表
IDSTU_IDNAMEMAJORTEACHERHOUSE
120150010201张勇英语刘欢610
220150010202李阳数学邓稼先610
320150010203李玲玉工商管理钱钟书801
420150010204秦天福化工金庸612
520150010205欧阳娜拉计算机技术谭浩强801
620150010206王淑芬软件工程王建民801
720150010207赵永帅物理钱学森612
820150010208钱永琪工商管理钱钟书802
920150010209华天硕计算机技术谭浩强612
1020150010210江疏影英语刘欢802


例1: 查询江疏影的专业信息
select * from stu_info where istu_id in ( select stu_id from student  where name='江疏影');              ---输出结果为sut_info表STU_ID为20150010210信息
例2:查询所有的学生基本信息和专业信息
select * from student a,stu_infob where a.stu_id=b.id;                   ---输出结果为两个表中所有的信息,且一一对应

2.sum/max/min/avg/count函数使用

当统计某些数据的总和、最大数、最小数及平均以及总数的时候,就需要用到这些函数
sut_score
IDSTU_IDNAMECHINESEMATHENGLISHPOLITICAL 
120150010201张勇86925873
220150010202李阳81537880
320150010203李玲玉73787371
420150010204秦天福60866778
520150010205欧阳娜拉69616967
620150010206王淑芬88737373
720150010207赵永帅91798777
820150010208钱永琪78815981
920150010209华天硕66956569
1020150010210江疏影67478276


例1:获取李玲玉的总分
select sum(CHINESE+MATH+ENGLISH+POLITICAL ) from sut_score where name='李玲玉';                 ---输出为李玲玉四门学科分数的总和
例2:获取所有学员政治的总分
select sum(POLITICAL ) fromsut_score    
例3:获取英语的最高分数
select max(ENGLISH) fromsut_score ;  
例4:获取数学的最低分
select min(MATHfromsut_score ;  
例5:获取语文的平均分
selectavg(CHINESE) fromsut_score ;  
例6:获取班级中的总人数
select count(*) from sut_score ;  
select count(1) from sut_score ;  

3.group by函数

group by函数往往和count,avg等函数联合使用,且在数据量较大时使用
表数据同上张表
例1:统计语文各个分数的人数
select count(1),chinese from stu_score group by chinese;      ---输出结果为语文每个分数的人数


4.union与union ALL函数

union和union all都是查询两个表中相同字段值的数据,所以union语句局限性较大。另外需要注意的是union是去重且排序的,union all不去重且不排序。
例1:拿上面的student表和stu_info表来举例,获取两张表的相同的STU_ID和NAME的数据、
  select  name,sut_id from student  union  select name,sut_id  from su_info;
  select  name,sut_id from student  union  all  select name,sut_id  from su_info;
union两边的语句也可以加上where判断条件。

5.update函数

update函数在代码开发过程中以及测试过程中经常被用到,将数据库中的信息更新为最新的数据。
例1:华天硕和张勇的宿舍互换了一下,请更新数据
update stu_info set house='612' where name='张勇';
update stu_info set house='610' where name='华天硕';


6.like函数

like函数通常是查找一些类似的值。
例1:查找stu_info表中姓名的包含天的人员姓名列表
select * from stu_info where name like  '%天%';    --结果为秦天福和华天硕的信息

7.DISTINCT函数

distinct函数是去除重复的值的数据。
例1:将学生成绩表中英语成绩分数由高到低排序且去除重复的。
select distinct ENGLISH from sut_score order by ENGLISH desc;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值