最新动态
MySQL数据库的查询操作
2024-11-19 03:09

首先展示一下我们的表 课程表 course MySQL数据库的查询操作 成绩表 sc MySQL数据库的查询操作 学生表student MySQL数据库的查询操作 教室表 teacher MySQL数据库的查询操作

MySQL数据库的查询操作

从上面的表展示可以看出我获得表的数据是通过 select * from 表 展示了表的所有内容,这就是查询的最基本操作。

select 属性1 from 表名; 查询 表 中所有记录的 属性1( * 号代表全部属性MySQL数据库的查询操作

select 属性 from 表 where 条件表达式; 表示在 表 中查询 满足条件 的 记录的属性 MySQL数据库的查询操作

select 属性1 from 表 where 属性2 in (x,x,x); 表示在表中查找满足 属性2 只要包含于后面这个集合,那么就打印此记录的属性1。 MySQL数据库的查询操作

或者 在 in 前面加 not 就表示 只要属性2 不包含于后面这个集合,那么就打印此记录的属性1。 select 属性1 from 表 where 条件 not in (xx,xx,xx); MySQL数据库的查询操作

select 属性1 from 表 where 条件 属性2 between a and b。 表示查询 表 中 满足条件 属性2 在a 到 b 区间(闭区间)的记录的属性1 。 MySQL数据库的查询操作 或者加上not 就表示不在此区间的记录的 属性1。 select 属性1 from 表 where 条件 属性2 not between a and b; MySQL数据库的查询操作 模糊查询 假如我要查一位学生我只直到它的第二个字是 ‘兰’ ,那么我们可以快速查询出来名字第二个字是兰的学生信息。

‘ 和 ’%‘ 都叫通配符。但是 表示占用一个字符位置,%可以表示任意字符位置

select 属性1 from 表 where 属性2 like ‘_兰’;MySQL数据库的查询操作 那么问题来了,假如我再插入一个学生叫做 纳兰性德 ,结果还是如此么MySQL数据库的查询操作 这就说明了_占用1个字符。 但这不是我想要的查询结果我并不知道名字有几个字,我只确定第二个字是兰 所以我们还需要再兰字后面加上通配符 % 即可。 MySQL数据库的查询操作

select 属性1 from 表 where 属性2 is NULL; select 属性1 from 表 where 属性2 is not NULL 表示在 表 中 查询属性2 为空 和 属性2 不为空的记录的属性1。 MySQL数据库的查询操作 MySQL数据库的查询操作

select 属性1 from 表 where 条件1 and 条件2; 在 表 中查询 同时满足条件1 和 条件2 的记录的属性1

select 属性1 from 表 where 条件1 or 条件2; 在 表 中查询 满足条件1 或者 条件2 的记录的属性1

MySQL数据库的查询操作

拿学生表举例,我就查寻男同学的年龄情况,我只需要知道有哪些年龄就行,我没必要把多个 20岁 给列出来。所以我们就用 distinct 关键字来解决。 select distince 属性1 from 表 where 条件 MySQL数据库的查询操作

order by 属性名 [asc| desc]; asc:升序(默认是胜序) desc:降序

select 属性1 from 表 where 条件 order by 属性2 asc 表示在 表 中查询 满足条件 的记录的属性1 ,并且按照属性2 进行升序排序。 MySQL数据库的查询操作

分组查询表示,我按照某种条件进行分组,我分别对每个组进行查询。 所以这包含了两个条件,怎么分组?怎么查询select 属性1 from 表 group by 分组条件 having 查询条件。 例如:我要查询每一门课程中分数大于60的记录。 MySQL数据库的查询操作

假如说查询的结果极其之长,那么我们就需要用到分页查询。 select 属性1 from 表 where 条件 limit index , num; 表示对表 查询属性1 并且对结果进行 分页,只展示从index1 开始的num条数据

MySQL数据库的查询操作 从以上结果可以看出,单写一个数字也是可以的,默认第一个index 为0。

select 属性 from 表 as 表的别名; select 属性 from 表 (空格) 表的别名

当表太多的时候,我们就可以起别名方便我们码SQL MySQL数据库的查询操作

AVG(属性)计算记录中属性的平均值 SUM(属性)计算记录中属性的和 MAX(属性)计算记录中属性的最大值 MIN(属性)计算记录中属性的最小值 COUNT(属性)计算查询结果的总记录数。

例如: select MAX(Sage) from Student; MySQL数据库的查询操作

内连接,外连接:左连接、右连接 内连接查询 select 属性1 from 左表 inner join 右表 on 条件 说明:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集(阴影)部分。 MySQL数据库的查询操作 左连接查询 select 属性1 from 左表 left join 右表 on 条件 左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。MySQL数据库的查询操作 右连接查询 select 属性1 from 左表 rigth join 右表 on 条件 与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。 MySQL数据库的查询操作

一个表与自己自身进行连接操作时,称为自连接 MySQL数据库的查询操作 假如我要查比吴兰年龄大的学生的信息。这些信息都在同一个表里,所以我们要用到自查询。 select 属性1 from 表1 a,表1 b where 条件; select 属性1 from 表1 a inner join 表1 b having 条件; MySQL数据库的查询操作

子查询也就是嵌套查询,在Where 子句中包含一个形同 Select-from-where的查询块,这类查询,就叫做子查询。并且子查询的执行是由内向外。**

普通子查询

select 属性1 from 表1 where 属性2 = (select 属性2 from 表2 where 条件); 例如:查询 成绩等于80 的同学信息 MySQL数据库的查询操作

ANY

当子查询返回的值不只一个值,而是一个集合。但我最终想要的结果就只想要一个的时候。我们就可以使用ANY。 select 属性1 from 表1 where 属性2 =ANY (select 属性2 from 表2 where 条件); 查询成绩大于60的学生信息 MySQL数据库的查询操作 当然我们也可以用 in 来代替 =ANY select 属性1 from 表1 where 属性2 in (select 属性2 from 表2 where 条件);

MySQL数据库的查询操作

ALL

ALL的含义就是全部,意思是查询所有满足子查询集合的查询记录。 select 属性1 from 表1 where 属性2 ALL (select 属性2 from 表2 where 条件);

MySQL数据库的查询操作 图片来源

EXISTS

当子查询使用EXISTS关键字时,表示对子查询的结果进行判定也就是让它返回 true 或者 false,如果查询结果存在就返回 true,不存在就返回 false。并且只有当子查询返回为true的时候才会进行父查询,否则不进行查询或者查询为空。 selec 属性1 from 表1 where EXISTS(select 属性2 from 表2 where 条件); 如果学生表中存在sid= 1 的学生,那么就进行子查询,否则不查询 MySQL数据库的查询操作 当子查询返回false 时。 MySQL数据库的查询操作

子查询的查询条件需要引用父查询表中的属性值,这一类查询就叫做相关子查询。 相关子查询的查询顺序: 选取父查询表中的第一行记录,子查询利用此纪录的相关属性进行查询,父查询再根据子查询返回的结果判断此行是否满足查询条件,满足条件则放入结果集中。 重复以上操作,知道处理完父查询表中的每一行数据位置。

查询不讲授语文课的老师的信息 MySQL数据库的查询操作

利用UNIOn关键字和UNIOn ALL关键字去拼接多个查询记录 格式: select 属性1 from 表1 UNIOn(UNIOn ALL) select 属性2 from 表2 UNIOn(UNIOn ALL) 。。。。。 select 属性n from 表n; 例子MySQL数据库的查询操作 我们可以看出这是将所有查询的数据进行拼接而成的,那么假如我两个查询结果时相同的呢MySQL数据库的查询操作 UNIOn关键字进行了去重的操作 MySQL数据库的查询操作

而UNIOn ALL 关键字仅仅只是拼接了结果而已

    以上就是本篇文章【MySQL数据库的查询操作】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/quote/24127.html 
     动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多