数据库-简单查询

数据库的操作无外乎是增删改查,那么其中的查询是我们作为测试,用得最多的,那查询应该怎么做呢,我们来讲解一下。

1、介绍一下我们举例的表结构

表一:
学生表:(学号,姓名,性别,出生日期,年龄,邮箱,住址,婚否)
stud:(sid,sname,sex,birth,age,email,address,marry)

表二:
课程表:(课程号,课程名)
course:(cid,cname)

表三:
成绩表:(学号,课程号,分数)
score:(sid,cid,sc)
成绩表中学号和课程号,来源于学生表和课程表,也就是外键,他们两个的组合又是联合主键。联合主键的意义是,这两个键的组合不能重复;外键的目的是为了约束成绩表中的学生和课程必须是存在的,也就是说如果学生表中没有9号学生,那么这个学生就不可能有成绩。
数据库-简单查询_第1张图片

表格数据:
数据库-简单查询_第2张图片

数据库-简单查询_第3张图片

数据库-简单查询_第4张图片
2、查询
(1)查询表格的所有数据
select * from 表名
星号表示所有数据

(2)查询部分字段
select 字段1,字段2 from 表名
例:
查询学生表的姓名和性别
select sname,sex from stud
数据库-简单查询_第5张图片
通过上述例子,我们可以总给为:想要看哪个字段,就直接把字段名写在selectfrom中间就可以了,多个字段用英文逗号间隔

(3)取别名
从上个例子中,我们看到了查询结果,但是字段名大多是一个代号,我们长期看的话,不是很直观,所以,我们可以在查询的时候把字段名写成中文的。我们接着上个例子继续往下讲。
例:
select sname as 姓名,sex as 性别 from stud
数据库-简单查询_第6张图片
数据库-简单查询_第7张图片
(4)带条件的查询
select 字段 from 表名 where 条件
例1:
想查询张三的所有信息
首先我们分析“张三”是姓名,stud表中sname表示姓名,所有信息用星号表示,那么sql就呼之欲出了
数据库-简单查询_第8张图片
例2:
想查询张三的性别
数据库-简单查询_第9张图片
例3:
查询姓张的所有信息
通过学生表的数据,我们可以知道,表格中有三个人都姓“张”,姓“张”这个条件,反应在语言里边,也就是sname字段值里,以“张”开头的所有数据,如下:
数据库-简单查询_第10张图片
例4:
年龄大于30岁的人的性别和年龄
条件是年龄字段,也就是age大于30
数据库-简单查询_第11张图片
例5:
年龄在24到30之间的人的姓名和年龄

这个有两种写法,用大于号小于号,或者between and
数据库-简单查询_第12张图片
数据库-简单查询_第13张图片

例6:
查询住在北京上海的

and是且的关系
or是或的关系

分析上边的要求,要住在北京上海的,如果用and,那意思就是这个人即住在北京,又住在上海,明显不符合要求。所以用or,意思是找住在北京或者住在上海的,两个地方的都要,符合题意,所以sql语句就出来了。

数据库-简单查询_第14张图片
例7:
查询婚姻状况不明的

分析:婚姻状况不明,也就是marry字段没数据的
is null :是空的
is not null :不是空的
数据库-简单查询_第15张图片
例8:
查询28岁以上的男的
分析:这个要求具备两个条件,28岁以上和性别为“男”的
数据库-简单查询_第16张图片
例9:
查询表格中前3条数据
stud表中有7条数据,但是只展示前3条,我们需要用到一个关键字“limit”
数据库-简单查询_第17张图片
例10:
查询年龄最小的3人
分析:条件是年龄最小,所以需要在age字段进行筛查,另外需要排序,排完顺序以后才能把年龄最小的3个人筛选出来,所以还需要用到“limit”
关键字:order by 字段 顺序
asc:升序
desc:降序
顺序可不写,不写默认升序
数据库-简单查询_第18张图片
数据库-简单查询_第19张图片
年龄最小的3个人,sql如下:
数据库-简单查询_第20张图片

你可能感兴趣的:(数据库,jmeter,数据库,database)