首页 > 代码库 > SQL语句基础之 单表查找

SQL语句基础之 单表查找

Sql语句之 单表查询

一.一般查询

1.查看表中的所有记录 以及 所有字段(属性)

语句 : select * from student;

 

 

2.只查看某些字段

语句:select sname,sex from student;

 

 

3.把查询出来的结果的字段名显示为其它名字

语句: select sname as ‘姓名’ , sage as ‘年龄’ from student;

 

 

4.在查询结果中添加一列,这一列的值为一个常量

语句:select sname,sex,’广州’ address from student;

 

 

5.把某些字段合并后显示出来(我先在表中添加了一个字段score,它的值为90

语句: select sname,(sage+score) as ‘年龄加得分’ from student;

 

注意,合并的字段的数据类型必须一致。

 

6.把查询出来的结果的重复记录去掉

语句: select distinct score from student;

 

因为学生们的成绩都是90,去掉重复后,只显示一个记录。

条件查询

除了根据字段来查询,我们还可以通过设定某些条件来查询,得到自己想要的记录。

使用where关键字来设置条件;

 

1.单条件查询

查询名字为 Jax的学生的信息:

语句:select * from student where sname=’Jax’;

 

 

2.多条件查询

查询名字为JinX,并且年龄为18岁的学生信息:

语句: select * from student where sname=’JinX’ and sage=18;

 

 

查询名字为VN,或则EZ的学生的年龄。

语句:select sage from student where sname=’VN’ or sname=’EZ’;

 

 

3.范围查询

查询年龄在1720岁的学生的信息。

语句:SELECT * FROM student WHERE sage BETWEEN 17 AND 20; -- 包前包后

 

 

4.判空查询

判空主要有两个:一.判断是否为null,二.判断是否为空字符串

判断是否为null: 语句  select * from student where score is not null;

  select * from student where score null;

判断是否为空字符串语句  select * from student where sex<>’’;    ------”<>”表示 “不等于”

      Select * from student where sex=’’;

 

5.模糊查询

使用 like 关键字,”%”代表任意数量的字符,”_”代表占位符。

查询名字为J开头的学生的信息:

语句 :select * from student where sname like ‘J%’;

  

查询姓名里第二个字母为a的学生的信息

语句: select * from student where sname like ‘_a%’;

 

 

6.分页查询

分页查询主要用于查看第N条 到 第M条的信息,通常和排序查询一起使用。

使用limit关键字,第一个参数表示从条记录开始显示,第二个参数表示要显示的数目。

表中默认第一条记录的参数为0.

查询学生表中第二到第三条的信息:

语句 : select * from student limit 1,2;

 

 

7.查询后排序

查询后的见过按照某个字段来排序。

关键字:order by , asc:升序 , desc:降序

按照年龄的升序排序:

语句:select * from student order by sage asc;

 

 

8.聚合查询

如果我们需要对查询出来的结果进行求和,求平均值,求最大最小值,统计显示的数目等运算,我们就要用到聚合查询,

关键字:sumavgmaxmincount

查询所有学生年龄的和: select sum(sage) from student ;

查询所有学生年龄的平均值:select avg(sage) from student;

查询年龄最大的学生的年龄: select max(sage) from student;

查询年龄最小的学生的年龄: select min(sage) from student;

统计表中学生的数目:select count(sname) from student;

 

9.分组查询

可以把查询出来的结果根据某个条件来分组显示

关键字:broup by

根据性别把学生分组:

Selete * from student group by sex;

 

--  2.12 分组筛选查询

-- 需求: 查询哪些区的人数大于等于2

-- 1)查询每个区的情况  2)添加条件

-- 预期结果: 广州天河   2

-- 注意:如果使用了group by,在分组基础上进行筛选要使用having关键字

SELECT address,COUNT(*) FROM student GROUP BY address HAVING COUNT(*)>=2;

 

 

 

 

SQL语句基础之 单表查找