mysql查询语句

本文介绍了MySQL查询语句的基本语法,包括SELECT,FROM,WHERE,GROUPBY,HAVING,ORDERBY和LIMIT等关键字的用法。还详细讲解了不同类型的连接查询,如内联、外连接(左外连接和右外连接),以及在查询中如何使用聚合函数和处理NULL值。
摘要由CSDN通过智能技术生成

mysql查询语句


基本语法

select 字段1,字段2....(字段列表)
from 表一,表二....(表名列表) 
where 条件1,条件2...(条件列表) 
group by 分组字段 
having 分组之后的条件 
order by  按什么字段排序 
limit 6 分页限定
  • 查询所有信息:select * from 表名;

  • (distinct)去除相同的数据:如 :select distinct 列名 from student;

  • (between and)之间(包含之间):如 :select * from stu where age between 20 and 30;

  • (in/not in)集合之中:select * from stu where age in(18,19,20);

  • 在查询中使用列的别名: select 列名 AS 新列名 form 表名 where 查询条件;

  • (null)查询: select * from stu where id is null /is not null;

  • (like)模糊查询 select * from 表名 where 字段名 like 对应值(子串), (*like,单个任意字符 %多个任意字符)

  • 查询学好1开头的学生:select * from stu id like “1%”;

  • (order by)排序(可叠加):select * from stu order by math asc/desc,english asc;(desc降序)

  • 聚合函数:

    • count函数 : select count(ifnull(name,0)) from stu;(自动排除null)
      count(*)//有多少行数据
    • max/min/sum/avg(最大/最下/和/平均):select max(math) from stu;
    • 将字符串s中的所有字符改为大写 lower(s) /upper(s)
    • 获取当前日期:curdate();
    • 获取当前时间:curtime();
    • 获取当前日期和时间:now();
    • (group by)分组查询(查询的字段只能是聚合函数或分组的字段)
  • 基本语法:select 字段名列表 form 表名 where 约束条件 group by分组的字段名

    • 如:select sex avg(math) from stu group by sex; 查询男女的平均分
  • limit 分页查询:select * from stu limit 3;(3条数据)

  • where和Having区别:

    • where在分组之前进行判定,having在分组之后进行判定)
    • where后不可以跟聚合函数,having后可以跟聚合函数

连接查询

  • 隐式内联:select * from emp,dept where dept.id=emp.id;

  • 显式内联:select * from emp inner join dept on emp.id=dept.id;

  • 外连接:
    外连接查询中参与连接的表有主从之分,已主表的每行数据匹配从表的数据列,将符合连接条件的数据直接返回到结果集中,对不符合连接条件的列,将被填上null值再返回到结果集中。

  • 左外连接(查询的是左表的所有记录或交集),右边没有的会填充null;

    • 如 : select t1.*,t2.name from emp as t1 left join dept as t2 on t1.id=t2.id;
  • 右外连接(右外连接包含右表中所有的匹配行,右表中有的项在左表中没有对应的项将以null值填充)。

    • 如: select t1.*,t2.name from emp as t1 right join dept as t2 on t1.id=t2.id;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值