快捷搜索: 王者荣耀 脱发

sql入门系列-----sql查询语句之单表查询

数据库最重要也是最难的操作就是查询。而单表查询是指只针对一张表的查询,相对来说这部分是查询中比较简单的,本文我们来看一下什么是查询。 我们先对表进行一下认识

这是一张sql的表,这种表记录的是学生的信息,从左往右称为一行,每一行就是一个学生的信息,如108号学生曾华,性别男,出生。。。班级等等。而第一行的SNO,SNAME,SSEX…等,则是这个表的一个字段,每个字段描述的是表的某个特定的信息,如SNO表示学号,SNAME表示姓名等。 而我们要查询的就是这张表中的某些信息,比如说,我想查找学号为105的学生的全部信息。我想查看所有的男同学的名字,我想查看这个班所有人的名字等等。

1.查询全部字段 这是最为笼统的一种查询,他会列出整个表所有的信息。查询语句为: select * from 表名 这里的*是一个通配符,表示所有的字段。表名是你要查找的表,这里我们的表示student。 实例 select * from student 结果

2.查询指定字段 有的时候我们并不需要知道每一条信息的每一个字段是什么,比如说我只想知道这个班级的每一个人的学号和名字,那么我们应该在查询时指定字段即可。 select 字段1,字段2,字段3···· from 表名 这里的字段就是要查询显示的信息,不同字段中间用逗号分开,特别要注意,一定要查询表中含有的字段,否则会出错。 实例 select SNO,SNAME from student 结果

这样我们就得到了,表中所有学生的学号和姓名了。

3.查询后指定排列顺序 前面的查询,所有行的排列都是没有顺序的,有时候为了方便看,就要按照某种顺序排列数据了,比如我们要求学号按从小到大的顺序排列或者从大到小排,这时候我们就要指定排列顺序了。 select 字段1,字段2,字段3···· from 表名 order by 依据的字段 select 字段1,字段2,字段3···· from 表名 order by 依据的字段 desc 实例: select SNO,SNAME from student order by SNO 结果

实例 select SNO,SNAME from student order by SNO desc

第一个实例查询的结果,所有学生是按照学号从小到大增序排列的,而第二个实例由于多了desc关键字,则变成了学号从大到小降序排列。注意没有desc的默认为升序排列,这里的顺序对于数字据说大小顺序,对于字符串就是字典顺序。

4.去除重复列

很多时候我们的字段可能有很多重复,比如说我想查询这些学生所在的班级有哪些,通过上面的方式,班级可能会重复出现多次,因为每个学生的信息都对应于一条班级信息,这时我们就需要做去重的操作了,这个操作也很简单,只需在原有的操作加上destinct关键字就可以了。 select distinct 各字段... from 表名 实例 select distinct class from student 结果 注意这里的消除重复是基于你所要查询的字段的,而不是只表中的所有字段。这里由于只要查询班级,所以只考虑班级的情况,而不用考虑其他字段。

5.添加条件的查询 如果现在的需求是,我想查询这个表中所有的男生的名字怎么办? 这时候我们就要给定条件了,这里要引入一个新的关键字where,注意这里的条件通常是表中拥有的字段 select 要查询的字段 from 表名 where 条件 实例 select SNO,SNAME,SSEX from student where SSEX=男 结果 这样我们就查出来所有性别为男的学生的学号和姓名。 补充: where可以指定的条件

    比较运算符>,<,=等 and or not 与或非 in()表示满足括号中的任意一个值 between A and B 值在A和B之间 like 模糊查询

长沙理工大学2017

经验分享 程序员 微信小程序 职场和发展