MySQL查询语句相关语法汇总

前言:查询语句是以后在工作中使用最多也是最复杂的用法,如何精准的查询出想要的结果以及用最合理的逻辑去查询尤为重要,使用好的语句逻辑可以大大降低查询的时间成本。

一、常用语句

1、select语句

MySQL中使用select来获取需要查询的数据结果,同时select也可以做输出,与print类似。

select * from <表名>;

2、where语句

where语句是用来作为条件判断的语句,多个条件之间用and或者or连接,返回结果是where语句中为True的结果。

select * from <表名> where <条件>;

3、having语句

having语句与where类似,都是用来作条件判断,区别在于,having语句查询的字段必须是在查询的结果中,having后面可以使用聚集函数,同时where所需要查询的字段必须在表中存在。

只能使用 where 不能使用 having 的情况。
select `name`, `birthday` from `student` where id > 2; 

-- 报错,having的条件查询,只能包含在前面的搜索结果里 
select `name`, `birthday` from `student` having id > 2;
只能使用 having 不能使用 where 的情况。
select name as n,birthday as b,id as i from student having i > 2; 

-- 报错,where只识别存在的字段 
select name as n,birthday as b,id as i from student where i > 2; 
-- 取出每个城市中满足最小出生年份大于1995的 
select city, group_concat(birthday) from student group by city having min(birthday) >'1995-1-1';

4、group by 分组查询

group by是按照某一字段对数据进行分组,如性别分为男女,可以查询出所有男生和女生的信息,如果有where字段要放在where字段之后。
select <字段> from <表名> where 条件  group by <分组字段>;

5、order by字段

order by是用来对查询的数据进行排序的语句,可以按照一定的规则进行排序,默认为升序(asc),降序需要在order by后面加上desc。

select * from <表名> order by <字段> desc;

6、limit语句

limit语句是用来对查询的结果做一些限制,限制只查询从某行到某行的结果。

select <字段> from <表名> limit m,n;
--其中m为从m行开始,n为向下查询n行

7、distinct语句

distinct语句是用来去重的语句,将查询的结果只显示一条。
select distinct <字段> from <表名>;

二、多表查询

1、union:联合查询

将两个或多个表联合查询,但需要保证查询两个表的结果字段数一致,查询的结果现实的字段是第一张表的字段。

select * from <表名> 
union
select * from <表名>;

2、inner join:内连接

inner join是将两张表按照某一字段进行匹配连接,显示在一起。

select <字段> from <表1> inner join <表2> on 表1.字段=表2.字段;

3、left join:左连接

left join是将左边表的查询字段全部显示,右边表没有匹配的行就显示为NULL。

 

select <字段> from <表1> left join <表2> on <表1.字段>=<表2.字段>;

4、right join:右连接

right join是将右边表的查询字段全部显示,左边表没有匹配的行就显示为NULL。

select <字段> from <表1> right join <表2> on <表1.字段>=<表2.字段>;
  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL多条件查询语句的基本语法是使用SELECT语句查询指定的字段,并通过WHERE子句来添加多个条件进行筛选。 通用语法如下: SELECT 字段1, 字段2, ... FROM 表名1, 表名2... WHERE 条件1 AND 条件2... 其中,字段1, 字段2,...表示需要查询的字段,可以是一个或多个字段。表名1, 表名2...表示需要查询的表名,可以是一个或多个表。条件1, 条件2...表示多个筛选条件,可以使用AND或OR进行连接。 如果希望查询所有字段,可以使用通配符*代替字段名,例如:SELECT * FROM 表名。 总结来说,在编写多条件查询语句时,需要使用SELECT语句来指定查询的字段,通过WHERE子句来添加多个条件进行筛选。在实际应用中,建议明确写出需要查询的字段,这样可以提高SQL语句的可读性和可维护性。123 #### 引用[.reference_title] - *1* *2* [mysql数据库表的多条件查询](https://blog.csdn.net/zhongjianboy/article/details/129223518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [MySQL数据库详解——常用命令及查询](https://blog.csdn.net/q872792748/article/details/108979428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值