数据库如何进行有条件的查询?

数据库如何进行有条件的查询?,第1张

条件

使用where子句对表中的数据筛选,结果为true的行会出现在结果集中

语法如下:

select * from 表名 where 条件

例:

select * from students where id=1

1

2

3

where后面支持多种运算符,进行条件的处理

比较运算符

逻辑运算符

模糊查询

范围查询

空判断

比较运算符

等于: =

大于: >

大于等于: >=

小于: <

小于等于: <=

不等于: != 或 <>

例1:查询编号大于3的学生

select * from students where id >3

例:查询编号不大于4的学生

select * from students where id <= 4

1

2

3

4

5

6

逻辑运算符

and

or

not

例:查询编号大于3的女同学

select * from students where id >3 and gender=0

1

2

3

模糊查询

like

%表示任意多个任意字符

_表示一个任意字符

例:查询姓黄的学生

select * from students where name like '黄%'

1

2

3

范围查询

in表示在一个非连续的范围内

空判断

注意:null与’'是不同的

判空is null

例:查询没有填写身高的学生

select * from students where height is null

判非空is not null

1

2

3

4

优先级

优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符

and比or先运算,如果同时出现并希望先算or,需要结合()使用

————————————————

1、用sqlserver作为测试,创建学生、教师、班级三张表。每张表都有一个id,int类型的(自增长),作为每个表的主键。

2、添加测试数据,并创建班级与学生、教师与班级的中间表。insert into dbo.Student(Sname) values('张三'),插入多条,由于id自增长所以sid自动填充了。类似将教师和班级也添加上测试数据。

3、创建班级教师表Class_Teacher,班级学生表Class_Student。

4、然后将1和2 放到1班,3和4放到2班。5和6 不放(可以理解为刚入学没有分配班级)。然后将3个老师分配到3个班级insert into dbo.Class_Teacher values (1,1)insert into dbo.Class_Teacher values (2,2)insert into dbo.Class_Teacher values (3,3)。

5、这样,1班和2班各有两名同学,3班没有同学,有两个同学没有分配班级,每一个老师都分配了班级。现在要查询所有班级学生情况。

mysql只用一条sql语句查出一个表里不同条件对应的数据条数的步骤如下:

我们需要准备的材料分别是:电脑、sql查询器。

1、首先,打开sql查询器,连接上相应的数据库表,例如stu2表。

2、点击“查询”按钮,输入:

select count(*) from stu2 where sex=1 and age=2

union all

select count(*) from stu2 where sex=1 and age=5

union all

select count(*) from stu2 where sex=1 and age=10

3、点击“运行”按钮,此时能只通过一条sql高效查询结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6802925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存