MySQL基础DQL

DQL数据查询语言

SELECT书写顺序:SELECT->DISTINCT->FROM->JOIN->ON->WHERE->GROUP BY->HAVING->ORSER BY
SELECT执行顺序:FROM->ON->JOIN->WHERE->GROUP BY->HAVING->SELECT->ORSER BY

简单查询

-- 查询全部数据
SELECT * FROM TableName;
-- 查询指定列的数据
SELECT 列名 FROM TableName;

条件查询WHERE

SELECT * FROM TableName WHERE 条件;
-- >    <    =    !=    >=    <=    IS NULL    IS NOT NULL等 
-- 例如:等值查询
SELECT * FROM TableName WHERE 列名 = '特定值';

LIKE模糊查询

-- %可以代替不定长的位数,而_只能对应一位
SELECT * FROM TableName WHERE 列名 LIKE '%特定值%';
SELECT * FROM TableName WHERE 列名 LIKE '_特定值_';

分组查询GROUP BY

-- 待查数据中一般会操作分组列数据
-- WHERE写在GROUP BY前, HAVING写在GROUP BY后,且HAVING不能单独使用,必须与GROUP BY一同使用
SELECT 待查数据 FROM TableName GROUP BY 列名;

连接查询

左连接

左表的记录会全部显示出来,而右表只会显示符合匹配条件的记录,匹配不到的显示为NULL

SELECT * FROM A LEFT JOIN B ON A.列名 = B.列名 WHERE 条件;

右连接

右表的记录会全部显示出来,而左表只会显示符合匹配条件的记录,匹配不到的显示为NULL

SELECT * FROM A RIGHT JOIN B ON A.列名 = B.列名 WHERE 条件;

内连接

显示左表和右表符合匹配条件的记录

SELECT * FROM A INNER JOIN B ON A.列名 = B.列名 WHERE 条件;

排序ODER BY

-- ASC 升序   DESC 降序   一般默认升序,升序可不写
SELECT * FROM TableName ORDER BY 列名 ASC/DESC;

分页LIMIT

-- LIMIT(startPage,pageSize)   startPage为起始条数(从0开始计数),pageSize为展示条数
SELECT * FROM TableName LIMIT startPage,pageSize;

子查询

-- 常用写法
SELECT * FROM A, B WHERE A.列名 = B.列名 AND 其他条件;
SELECT * FROM A WHERE 列名1 IN (SELECT 列名1 FROM B WHERE 条件);

去重DISTINCT

-- 只展示不重复的数据
SELECT DISTINCT * FROM TableName;

范围查询BETWEEN AND

-- 当查询条件的数值在一个范围内或者日期在一范围内时可以使用BETWEEN AND,是闭区间
SELECT * FROM TableName WHERE 列名 BETWEEN1 AND2;

范围查询IN

-- 当待查询的条件在一个集合中时选择用IN,当待查询的条件只需等于某一个值时用=
SELECT * FROM TableName WHERE 列名 IN ('', ''[,……]);
-- 或在子查询中也常使用,避免出错;可嵌套使用
SELECT * FROM TableName1 WHERE 列名1 IN (SELECT 列名1 FROM TableName2 WHERE 条件);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值