码迷,mamicode.com
首页 > 数据库 > 详细

数据库学习笔记系列(4)——单表查询_1

时间:2015-04-17 11:40:06      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:数据库   单表查询   where   

单表查询就是查询的范围只是一个table,我们对其中的某一个字段,或者多个字段进行查询返回,查询的时候还可以满足一定的条件。
下面我们就按照实际的问题,来学习一下单表查询。

首先,原始的是一个student表,其中有如下几个字段:
学号:snum
姓名:sname
年龄:sage
性别:ssex
院系:department
课程:course
分数:score

create table student(snum int(5), sname varchar(10), sage int(5), ssex char(5), department varchar(10), course varchar(10), score int(10), primary key(snum));

如下:
技术分享
从上图可以看出,student表总共含有10条数据,每个数据有7个字段。我们把snum做为主键,所以即使我原始导入数据不是按照学号排序的,在我导入数据库之后,数据库也会按照主键字段来排序,从1~10排列好。
我们后面的所有题目,除非特别修改数据库之外,都是默认按照这个student表来查询的。

1. 查询所有学生的学号和姓名
技术分享
把需要查询的字段放在select子句后面,from后面规定查询的表范围。

2. 在查询字段中加入算术计算
技术分享
上面就是在查询字段sage中使用2015-sage,计算了所有人的出生年份,也就是在查询字段中加入算术计算公式。而且,我们发现相应的字段名字也变成了“2015-sage”。

3. 改变字段的显示名称
技术分享
如上图所示,我们只需要在查询的字段后面加入需要显示的名称即可,注意:中间用一个空格隔开即可。

4. 小写字母显示数据
select lower(department) from student;
由于本博文基于的是中文数据,所以没有实际显示效果图,不过命令是没有问题的。注意Mysql中是lower函数表示小写字母转换,有些数据库系统中可能不是这个函数,需要注意一下。

5. 消除字段中重复的值
技术分享
需要使用distinct,把这个约束加在字段的最前面。说是最前面,就是所有字段的前面,select的后面。因为distinct的作用是其后面的所有字段。如下图:
技术分享
上图中需要唯一的是(snum, department)这个pair,显然所有的数据中没有一个是具有相同的这种pair的,所以就返回了所有。记住:distinct的作用范围是其后面的所有字段。

6. where引起查询条件
技术分享
where后面可以接查询条件,其中包括:
技术分享

7. where中确定查询数值范围
技术分享
我们可以使用between and 这样的句式来指定比较的数值范围。还可以使用in 和not in来确定是否在比较的集合中。
技术分享

数据库学习笔记系列(4)——单表查询_1

标签:数据库   单表查询   where   

原文地址:http://blog.csdn.net/puqutogether/article/details/45082125

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!