Mysql,group by分组查询、order by排序查询、join连接查询、union联合查询

本文介绍了MySQL的基础查询语法,包括DQL语言中的条件查询、排序查询、分组查询和连接查询。详细讲解了各种函数的使用,如字符函数、数学函数、日期函数和分组函数,并探讨了子查询和联合查询的应用场景及注意事项。
摘要由CSDN通过智能技术生成

入门概念

  • DB:数据库 database
  • DBMS:数据库关系系统 Database Management System
  • SQL:结构化查询语言 Structure Query Language
  • 数据库
  • 数据表
  • 字段

mysql安装成功后,比较常见的命令:

  • mysql [-h 主机ip -p 端口] -u 用户名 -p回车输入密码 登录
  • shwo databases; 登录成功后显示所有数据库
  • use 数据库名; 打开数据库
  • show tables; 显示所有数据表
  • 。。。

DQL语言

基础查询

格式为:

SELECT 查询列表 FROM 数据表名;

查询列表:

  • 常量
  • 字段
  • 函数
  • 表达式

基础查询语句案例如下:

-- 查询常量
select 12;

-- 查询字段
select username,age from tab_user;

-- 查询函数
select now();

-- 查询表达式
select 100*2;

条件查询

就是在基础查询的基础上加上了where 条件 ,格式为:

select 查询字段 from 数据表名 where 查询条件;

查询条件可以分为:

  • 条件表达式查询 < > >= <= = <>或者!=
  • 逻辑表达式查询 and or not
  • 模糊查询 like , between and , in , is null , is not null

条件表达式和逻辑表达式太简单,就不写案例了。接下来的案例主要是对模糊查询的一些说明
首先是like

-- 通配符 %表示任意多个字符  _表示任意一个字段
-- 比如我要查询用户表 姓名第二个字为尚的信息
select * from tab_user where username like '_尚%';

-- 如果查询条件出现了特殊符号 需要转义 有如下两种方式, 比如我要查询第二个字符为下划线的信息
select 查询列表 from 数据表名 where 字段名 like '_\_%'; -- 使用 \ 符号进行转义
select 查询列表 from 数据表名 where 字段名 like '_$_%' escape $; -- 也可以不用 \ 符号 自定义一个转义符号

接下来是between and

-- between and 的区间值是[n,m]  是包含临界值的

-- 我要查询工资在100到200之间的员工信息
SELECT * FROM empl WHERE sal>=100 AND sal<=200;
-- 上面是使用条件表达式查询 还可以使用模糊查询
SELECT * FROM empl WHERE sal BETWEEN 100 AND 200;

接下来是in

-- 需要注意的就是 in() 括号中需要是同一类型的值,或者是支持自动类型转换,比如 '123'---> 123

-- 查询部门编号为 10 20 的员工信息
SELECT * FROM empl WHERE 部门编号字段名 IN(10,20);

最后两个就是对null的判断了。

-- 我们不能这样写, = 不支持判断null
SELECT * FROM 表名 WHERE 字段名 = NULL;

-- 正确写法为:
SELECT * FROM 表名 WHERE 字段名 IS NULL;

补充一点——安全等于
写法为<=> 。 它可以用于判断null值,也可以用来判断普通类型的值

-- 比如我上面某个字段为null的信息
SELECT * FROM 表名 WHERE 字段名 IS NULL;
-- 使用安全等于也可以进行null的判断
SELECT * FROM 表名 WHERE 字段名 <=>NULL;

-- 查询普通类型的值 比如查询工资为12000的员工信息
SELECT * FROM empl WHERE sal <=> 12000;

排序查询

基本语法如下:

select 查询字段 from 数据表名 where 筛选条件 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值