数据库--查询语句

数据库--查询语句,第1张

mysql中要学习的知识:多表关系,查询语句,索引

将一个查询结果插入到另一张表中

举例(下面查询的都是在这张表的基础上):where 条件

举例:

为什么要分组,分组是为了统计,例如统计男性有几个,女性有几个

数据准备:

案例:

将一条语句的结果作为另一条语句的条件或者是数据来源

当我们一次性查不到想要的数据时就需要使用子查询

当内层查询(括号内的)结果会有多个结果时,不能使用=必须使用in,另外in查询只能包含一个字段,也就是一列数据

需求:找出平均年龄大于25的部门名称

准备数据:

本质上就是笛卡尔积查询

举例:

左边的表无论是否能够匹配都要完整显示,右边的仅展示匹配上的记录

右边的表无论是否能够匹配都要完整显示,左边的仅展示匹配上的记录

无论是否匹配成功,两边表的数据都要全部显示

总结:外连接查询,查到的是没有对应关系的记录,但是这样的数据原本就是有问题的,所以最常用的还是内连接查询

内连接表示 只显示匹配成功的记录

外连接表示 没有匹配成功的也要显示

在查询数据中,应该将上述知识合并使用,特别是子查询和内连接查询,如果面临多表联合查询,应该先理清楚步骤,一步一步实现,可以将一部分的查询结果搭建成一个临时表,再联合其他表进行查询.

条件

使用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,需要结合()使用

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存