MYSQL自连接、子查询

这篇具有很好参考价值的文章主要介绍了MYSQL自连接、子查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自连接:

#  board表
mysql> select * from board;
+----+-----------+-------+-----------+
| id | name      | intro | parent_id |
+----+-----------+-------+-----------+
|  1 | 后端      | NULL  |      NULL |
|  2 | 前端      | NULL  |      NULL |
|  3 | 移动端    | NULL  |      NULL |
|  4 | 大数据    | NULL  |      NULL |
|  5 | 云计算    | NULL  |      NULL |
|  6 | AI        | NULL  |      NULL |
|  7 | java      | NULL  |         1 |
|  8 | python    | NULL  |         1 |
|  9 | php       | NULL  |         1 |
| 10 | go        | NULL  |         1 |
| 11 | JS        | NULL  |         2 |
| 12 | html      | NULL  |         2 |
| 13 | CSS       | NULL  |         2 |
| 14 | jQuery    | NULL  |         2 |
+----+-----------+-------+-----------+
14 rows in set (0.00 sec)
#  查询父级板块
mysql> select * from board where parent_id is null;
+----+-----------+-------+-----------+
| id | name      | intro | parent_id |
+----+-----------+-------+-----------+
|  1 | 后端      | NULL  |      NULL |
|  2 | 前端      | NULL  |      NULL |
|  3 | 移动端    | NULL  |      NULL |
|  4 | 大数据    | NULL  |      NULL |
|  5 | 云计算    | NULL  |      NULL |
|  6 | AI        | NULL  |      NULL |
+----+-----------+-------+-----------+
6 rows in set (0.00 sec)

#  知道名字是Java查询它的父级板块
mysql> select * from board where id = (select parent_id from board where name = "java");
+----+--------+-------+-----------+
| id | name   | intro | parent_id |
+----+--------+-------+-----------+
|  1 | 后端   | NULL  |      NULL |
+----+--------+-------+-----------+
1 row in set (0.00 sec)

#  知道某个面板是前端,查询它的所有子版块
mysql> select * from board where parent_id  = (select id from board where name = "前端");
+----+--------+-------+-----------+
| id | name   | intro | parent_id |
+----+--------+-------+-----------+
| 11 | JS     | NULL  |         2 |
| 12 | html   | NULL  |         2 |
| 13 | CSS    | NULL  |         2 |
| 14 | jQuery | NULL  |         2 |
+----+--------+-------+-----------+
4 rows in set (0.00 sec)

自连接:外键指向表自身的主键

子查询

#1:子查询是将一个查询语句嵌套在另一个查询语句中。内部嵌套其他select语句的查询,称为外查询或
主查询
#2:内层查询语句的查询结果,可以为外层查询语句提供查询条件。
#3:子查询中可以包含:IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS等关键字
#4:还可以包含比较运算符:= 、 !=、> 、<等
注意:
1、子查询要包含在括号内。
2、将子查询放在比较条件的右侧。
3、单行操作符对应单行子查询,多行操作符对应多行子查询

子查询的效率较差,尽量减少子查询,而采用多表关联查询文章来源地址https://www.toymoban.com/news/detail-801942.html

到了这里,关于MYSQL自连接、子查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql数据库——连接查询(内连接:自然连接,等值连接。外连接:左连接,右连接,全连接)

    🔎这里是数据库加油站 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 数据库版本:mysql8。0.27 如果以下代码执行有问题欢迎留言,一起探讨 内连接INNERJOIN是最常用的连接操作。从数学的角度讲就是求两个表的交集,从笛卡尔积的角度

    2024年02月04日
    浏览(76)
  • 【从删库到跑路】MySQL数据库的查询(单表查询,多表查询,内外连接,联合查询,子查询)

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 在项目开发中,在进行数据库表结构设计时,会根据业务需求以及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联

    2024年02月10日
    浏览(46)
  • 【JaveWeb教程】(22) MySQL数据库开发之多表查询:内连接、外连接、子查询 详细代码示例讲解(最全面)

    1.1.1 数据准备 SQL脚本: 1.1.2 介绍 多表查询:查询时从多张表中获取所需数据 单表查询的SQL语句:select 字段列表 from 表名; 那么要执行多表查询,只需要使用逗号分隔多张表即可,如: select 字段列表 from 表1, 表2; 查询用户表和部门表中的数据: 此时,我们看到查询结果中包

    2024年01月22日
    浏览(55)
  • pycharm连接MySql数据库,新建表creat table、删除表drop table、查询表select、插入数据insert

    亲爱的小伙伴,欢迎你来为学习新的知识啦~~~ 一、安装pymysql 首先我们肯定要先在python中把能操作mySql的第三方数据库安装一下呀~ 安装方式:pip安装(你有没有安装好pip呀,可以看安装pip的相关文章进行安装好哦~) 打开我们电脑的终端,然后输入以下的命令,将我们

    2024年02月09日
    浏览(48)
  • MySQL数据库——MySQL WHERE:条件查询数据

    在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 来指定查询条件。 使用 WHERE 的语法格式如下: WHERE 查询条件 查询条件可以是: 带比较运算符和逻辑运算符的查询条件 带 BETWEEN AND 的查询条件 带 IS NULL 的查询条件 带 IN

    2024年02月03日
    浏览(58)
  • MySQL数据库实验三 MySQL查询

    一、实验项目: MySQL查询。 二、实验目的 掌握MySQL的查询操作。 三、实验内容 (一): 1、查询lineitem表中商品编号(productid)和单价(unitprice),要求消除重复行。 2、计算lineitem表中每条记录的商品金额。 3、显示orders表单笔高于200元的客户号(userid)、成交金额(total

    2024年02月11日
    浏览(53)
  • MySQL数据库基础之MySQL查询基础

    从今天开始,本系列内容就带各位小伙伴学习数据库技术 。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。 全文大约【 1212】 字,不说废话,只讲可以让你学到技术、

    2024年02月06日
    浏览(52)
  • MySQL数据库——MySQL SELECT:数据表查询语句

    在 MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。 SELECT 的语法格式如下: 其中,各条子句的含义如下: {*|字段列名} 包含星号通配符的字段列表,表示所要查询字段的

    2024年02月05日
    浏览(76)
  • MySQL数据库,联合查询

    目录 1. 联合查询 1.1 内查询 1.2 外查询 1.3 自连接 1.4 子查询 1.5 合并查询 联合查询,简单的来讲就是多个表联合起来进行查询。这样的查询在我们实际的开发中会用到很多,因此会用 笛卡尔积 的概念。 啥是笛卡尔积?两张表经过笛卡尔积后得到的新表的列数是两表列数之和

    2023年04月23日
    浏览(72)
  • MySQL数据库,聚合查询

    目录 1、聚合查询 1.1聚合函数 1.1.1count函数 1.1.2sum函数 1.1.3avg函数 1.1.4max函数 1.1.5min函数 1.2group by子句 1.3having 聚合函数查询又叫函数查询,它是通过一些特定的函数根据需求来查询相关的信息,常见的聚合函数为: COUNT - 求总数,不包含某字段为null值 SUM - 求和,不包含某字

    2023年04月21日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包