mysql基础-查询数据

1227-李同学

发表文章数:84

热门标签

首页 » MySQL » 正文

单表查询

  • 查询表中所有信息
SELECT * FROM 数据表名;
  • 查询指定字段
SELECT 字段1,字段2,字段3.FROM 表名;
  • where 条件查询
SELECT 字段1,字段2,字段3.FROM 表名 WHERE 条件表达式;
  • 带 in 关键字查询
SELECT 字段1,字段2,字段3.FROM 表名 WHERE 字段 [NOT] IN(元素1,元素2)
  • 带 between and 的范围查询
SELECT 字段1,字段2,字段3.FROM 表名 WHERE 字段 [NOT] BETWEEN 值1 AND 值2
  • 带 like 的模糊查询
SELECT 字段1,字段2,字段3.FROM 表名 WHERE 字段 [NOT] LIKE '字符串'
  • 带 and 或者 or 的多条件查询:
SELECT 字段1,字段2,字段3.FROM 表名 WHERE 表达式1 OR 表达式2 OR 表达式3;
SELECT 字段1,字段2,字段3.FROM 表名 WHERE 表达式1 AND 表达式2 AND 表达式3
  • distinct 去重复查询
SELECT DISTINCT 字段1,字段2,字段3.FROM 表名;
  • 对查询结果排序 order by:
SELECT 字段1,字段2,字段3.FROM 表名 ORDER BY 属性名[DESC|ASC];
DESC 为降序,ASC为升序(可以不写)
  • 分组查询 group by
GROUP BY 属性名 [HAVING 条件表达式][WITH ROLLUP]
  • limit 分页查询
SELECT 字段1,字段2,字段3.FROM 表名 LIMIT 初始位置,记录数;

多表查询

内连接查询

两张或以上的表连接起来查询需要的数据

SELECT * FROM t_A , t_B WHERE t_A.ID=t_B.ID;

外连接查询

两张或以上的表连接起来查询某张表的信息
左连接与右连接只是主表位置不同

SELECT * FROM t_A LEFT JOIN t_B ON t_A.ID=t_B.ID;

子查询

  • 带 in 关键字的子查询(一个查询语句的条件可能落在另一个select语句的查询结果中)
    select * from t_book where bookType in(select id from t_bookType);
SELECT * FROM t_A WHERE AGE IN(SELECT ID FROM t_B);
  • .带比较运算符的子查询(子查询可以使用比较运算符)
SELECT * FROM t_A WHERE AGE > (SELECT ID FROM t_B);
  • 带exists关键字的子查询(加入子查询查询到记录,则进行外层查询,否则,不执行外层查询)
SELECT * FROM t_A WHERE EXISTS(SELECT * FROM t_B);
  • 带any关键字的子查询(any关键字表示满足其中任一条件)
SELECT * FROM t_A WHERE AGE >ANY(SELECT ID FROM t_B);
  • 带all关键字的子查询(all关键字表示满足所有条件)
SELECT * FROM t_A WHERE AGE >ALL(SELECT ID FROM t_B);

合并查询

  • union

使用union关键字时,数据库系统会将所有的查询结果合并到一起,然后去掉相同的记录;

SELECT ID FROM  t_A UNION SELECT ID FROM t_B;
  • union all

使用union all,不会去除掉重复的记录;

SELECT ID FROM  t_A UNION ALL SELECT ID FROM t_B;
标签:

拜师教育学员文章:作者:1227-李同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《mysql基础-查询数据》 发布于2020-08-22

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录