【Mysql】数据查询大全

一、基础查询

1.查询数据显示所有列

 select * from students;

2.查询数据并显示某些列

select id,name form students;

3.别名查询

select id as sid,name as sname from students;
select id sid,name sname from students;

二、条件查询 

通过where进行条件约束 

select * from students where id = 1;
select * from students where id between 1 and 3;
符号运算符
符号说明
<小于
<=小于或等于
=等于
!= 或<>不等于
>=大于等于
>大于
in在某集合内
between在某范围内
逻辑运算符
not或!逻辑非
or 或逻辑或
and或&&逻辑与

三、模糊查询

模糊查询是一种在数据库中查找与指定模式匹配的记录的方法。它允许用户输入部分或不完全准确的信息,然后返回与之相关的结果,使用关键字like实现。

1.%表示0个或多个字符

select id,name from students where name like 'l%';

2._表示任意一个字符

select id,name from students where name like '_s';

四、分页查询 

分页查询是一种在数据库中检索数据的方法,它将结果集分成多个较小的部分(称为“页面”),以便用户可以逐页浏览和访问数据,使用limit关键字实现。(limit n,m)n代表从n+1行开始,m代表显示m列。

select * from students limit 0,3;
#查询从第二行开始查询2行数据
select * from students limit 1,2;

五、去重查询

去重查询是一种在数据库中检索唯一记录的方法,它通过消除重复的记录来返回唯一的结果集,使用distinct关键字实现。

select distinct  salary from students;

六、排列查询 

排序查询是一种在数据库中检索数据并按照指定的顺序进行排列的方法。它允许用户根据一个或多个列的值对结果集进行排序,以便更容易地分析和理解数据,使用order by关键字实现。

默认升序排列

select * from students order by salary;
select * from students order by salary limit 0,5;

使用desc设置为降序排序 

select * from students order by salary desc; 
select * from students order by salary desc limit 0,5;

七、多表连接查询

多表连接查询是一种在数据库中从多个表中检索数据的方法,它允许用户根据一个或多个表之间的关系来获取相关的信息。分为内连接和外连接

1.内连接

select students.name,score.score,students.salary from students,score where students.name=score.name;
#取别名查询
select students.name as 姓名,score.score as 成绩,students.salary as 薪资 from students,score where students.name=score.name;
#以薪资排序
select students.name,score.score,students.salary from students,score where students.name=score.name order by salary desc;

#使用inner join进行连接
select students.name,score.score,students.salary from students inner join score where students.name=score.name ;
#取别名查询
select students.name as 姓名,score.score as 成绩,students.salary as 薪资 from students inner join score where students.name=score.name ;
#以薪资排序
select students.name as 姓名,score.score as 成绩,students.salary as 薪资 from students inner join score where students.name=score.name order by salary desc;

2.外连接  

左连接:以左表为基准,返回左边所有内容,右表不存在的会以null的形式显示

select * from students left outer join score on students.name = score.name;

右连接:以右表为基准,返回右边所有内容,左表不存在的会以null的形式显示

select * from students right outer join score on students.name = score.name;

八、子查询 

多表联合查询是一种在数据库中从多个表中检索数据的方法,它允许用户根据一个或多个表之间的关系来获取相关的信息。

#查询出薪资比ls高的全部学生信息
select * from students where salary >=(select salary from students where name = 'ls');
#查询出工资高于平均的全部学生信息
select * from students where salary >= (select avg(salary) from students);
#查询出薪资最高的学生名字
select name from students where salary in (select max(salary) from students);

每篇一言:人生如逆旅,我亦是行人 

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值