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、单行操作符对应单行子查询,多行操作符对应多行子查询
子查询的效率较差,尽量减少子查询,而采用多表关联查询
相关文章:
MYSQL自连接、子查询
自连接: # board表 mysql> select * from board; --------------------------------- | id | name | intro | parent_id | --------------------------------- | 1 | 后端 | NULL | NULL | | 2 | 前端 | NULL | NULL | | 3 | 移…...
docker搭建hbase 全部流程(包含本地API访问)
一、使用docker下载并安装hbase 1、搜索:docker search hbase 2、下载:docker pull harisekhon/hbase(一定要下载这个,下面都是围绕此展开的) 3、启动容器: docker run -d -p 2181:2181 -p 16000:16000…...
Mybatis之关联
一、一对多关联 eg:一个用户对应多个订单 建表语句 CREATE TABLE t_customer (customer_id INT NOT NULL AUTO_INCREMENT, customer_name CHAR(100), PRIMARY KEY (customer_id) ); CREATE TABLE t_order ( order_id INT NOT NULL AUTO_INCREMENT, order_name C…...
Labview实现用户界面切换的几种方式---通过VI间相互调用
在做用户界面时我们的程序往往面对的对象是程序使用者,复杂程序如果放在同一个页面中,往往会导致程序冗长卡顿,此时通过多个VI之间的切换就可以实现多个界面之间的转换,也会显得程序更加的高大上。 本文所有程序均可下载ÿ…...
点云从入门到精通技术详解100篇-基于点云和图像融合的智能驾驶目标检测(中)
目录 2.1.2 数据源选型分析 2.2 环境感知系统分析 2.2.1 传感器布置方案分析...
Apache-iotdb物联网数据库的安装及使用
一、简介 >Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for data management and analysis, deployable on the edge and the cloud. Due to its light-weight architecture, high performance and rich feature set…...
项目管理流程
优质博文 IT-BLOG-CN 一、简介 项目是为提供某项独特产品【独特指:创造出与以往不同或者多个方面与以往有所区别产品或服务,所以日复一日重复的工作就不属于项目】、服务或成果所做的临时性【临时性指:项目有明确的开始时间和明确的结束时间,不会无限期…...
0004.电脑开机提示按F1
常用的电脑主板不知道什么原因,莫名其妙的启动不了了。尝试了很多方法,没有奏效。没有办法我就只能把硬盘拆了下来,装到了另一台电脑上面。但是开机以后却提示F1,如下图: 根据上面的提示,应该是驱动有问题…...
中国电子学会2022年12月份青少年软件编程Scratch图形化等级考试试卷一级真题(含答案)
一、单选题(共25题,共50分) 1. 小明想在开始表演之前向大家问好并做自我介绍,应运行下列哪个程序?(2分) A. B. C. D. 2. 舞台有两个不同的背景,小猫角色的哪个积木能够切换舞台背景?(2分) A. B. C. D. 3. …...
C语言第二弹---C语言基本概念(下)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 C语言基本概念 1、字符串和\02、转义字符3、语句和语句分类3.1、空语句3.2、表达式语句3.3、函数调⽤语句3.4、复合语句3.5、控制语句 4、注释4.1、注释的两种形…...
Java 基础面试题 String(一)
Java 基础面试题 String(一) 文章目录 Java 基础面试题 String(一)String、StringBuffer、StringBuilder 的区别?String 为什么是不可变的?字符串拼接用“” 还是 StringBuilder? 文章来自Java Guide 用于学习如有侵…...
QT中QApplication对象有且只有一个
QT中QApplication对象有且只有一个 QApplication对象 QApplication对象 QApplication是应用程序对象 #include <QApplication> int main(int argc,char* argv[]); {//a对象在一个程序中有且只有一个,QT中要求必须有一个QApplication a(argc,argv…...
HTML CSS 发光字头特效
效果展示: 代码: <html><head> </head><style>*{margin: 0;padding: 0;}body {text-align: center;}h1{/* border: 3px solid rgb(201, 201, 201); */margin-bottom: 20px;}.hcqFont {position: relative;letter-spacing: 0.07…...
4.postman批量运行及json、cvs文件运行
一、批量运行collection 1.各个接口设置信息已保存,在collection中点击run collection 2.编辑并运行集合 集合运行时,单独上传图片时报错。需修改postman设置 二、csv文件运行 可新建记事本,输入测试数据,后另存为新的文本文件&…...
Superset二次开发之集成链路追踪TraceID技术
config.py ##时间-日志级别-完整路径-文件名字-文件行-函数名字-信息 LOG_FORMAT = "%(asctime)s:%(levelname)s:%(pathname)s:%(module)s:%(lineno)d:%(funcName)s:%(message)s" 字符串详细信息 格式字符串作用%(name)s日志记录器的名称(记录通道)%(levelno)s日…...
商品详情APP端原数据淘宝数据采集API接口代码接入示例
商品详情APP端原数据API接口(接口接入入口)的作用是提供APP端商品的详细信息,包括价格、描述、图片、折后价、优惠券信息等。通过调用这个API接口,开发者可以获取到APP端商品详情相关的数据,从而进行数据分析ÿ…...
企业官网搭建:打造专业形象的关键步骤
企业官网是企业在数字世界中的门面,搭建一个专业、功能齐全的官网对于企业的形象和业务发展至关重要。以下是一些关键的步骤: 一、确定目标和需求 明确网站的目标、受众和主要功能,为设计和内容提供指导。 二、域名和主机选择 选择易于记忆和…...
Vue2移动端项目使用$router.go(-1)不生效问题记录
目录 1、this.$router.go(-1) 改成 this.$router.back() 2、存储 from.path,使用 this.$router.push 3、hash模式中使用h5新增的onhashchange事件做hack处理 4、this.$router.go(-1) 之前添加一个 replace 方法 问题背景 : 在 Vue2 的一个移动端开发…...
ChatGPT与文心一言:AI助手之巅的对决
随着科技的飞速发展,人工智能助手已经渗透到我们的日常生活和工作中。 而在这个充满竞争的领域里,ChatGPT和文心一言无疑是最引人注目的两款产品。它们各自拥有独特的优势,但在智能回复、语言准确性、知识库丰富度等方面却存在差异。那么&am…...
前端实现贪吃蛇功能
大家都玩过贪吃蛇小游戏,控制一条蛇去吃食物,然后蛇在吃到食物后会变大。本篇博客将会实现贪吃蛇小游戏的功能。 1.实现效果 2.整体布局 /*** 游戏区域样式*/ const gameBoardStyle {gridTemplateColumns: repeat(${width}, 1fr),gridTemplateRows: re…...
Hearthstone-Script:3大核心功能带你轻松玩转炉石传说自动化![特殊字符]
Hearthstone-Script:3大核心功能带你轻松玩转炉石传说自动化!🔥 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本)(2024.01.25停更至国服回归) 项目地址: https://gitco…...
教育工作者必备:用清音刻墨Qwen3为教学视频自动生成时间轴字幕
教育工作者必备:用清音刻墨Qwen3为教学视频自动生成时间轴字幕 1. 引言:教学视频的字幕痛点 作为一名教育工作者,您是否经常遇到这样的困扰?录制完教学视频后,手动添加字幕耗费大量时间,而且很难做到音画…...
QP状态机架构解析①——QM建模与QPC框架的协同设计
1. QP状态机架构初探:从UML到嵌入式代码的魔法之旅 第一次接触QP状态机框架时,我盯着屏幕上的UML状态图发了半小时呆——这些方框和箭头真能变成可运行的嵌入式代码?直到亲眼见证QM工具自动生成代码框架,才明白这套组合拳的威力。…...
SpringBoot项目如何动态加载用户上传的Jar包?两种热部署方案对比
SpringBoot动态加载用户Jar包实战:两种热部署方案深度解析 在当今快速迭代的软件开发环境中,插件化架构正成为提升系统扩展性的关键策略。作为Java生态中最流行的框架之一,SpringBoot项目常面临需要动态加载用户自定义Jar包的需求场景。本文将…...
795. 广告标识工厂哪家上门维修最及时?
在当今商业社会,广告标识对于企业的品牌展示和宣传起着至关重要的作用。然而,广告标识在使用过程中难免会出现各种问题,这就需要及时的上门维修服务。那么,广告标识工厂哪家上门维修最及时呢?今天就为大家推荐河北兴盛…...
Minitab单因子方差分析实战:从数据导入到结果解读全流程(附油漆硬度案例)
Minitab单因子方差分析实战:从数据导入到结果解读全流程(附油漆硬度案例) 在工业质量控制和科研实验中,我们常常需要比较不同组别间的均值差异是否具有统计学意义。单因子方差分析(One-Way ANOVA)正是解决这…...
AI工具使用限制解决方案:突破设备识别与权限重置完全指南
AI工具使用限制解决方案:突破设备识别与权限重置完全指南 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. …...
开源六轴机械臂从零构建指南:低成本DIY方案与实战应用
开源六轴机械臂从零构建指南:低成本DIY方案与实战应用 【免费下载链接】Faze4-Robotic-arm All files for 6 axis robot arm with cycloidal gearboxes . 项目地址: https://gitcode.com/gh_mirrors/fa/Faze4-Robotic-arm 开源六轴机械臂技术正以前所未有的速…...
手把手教你用Python实现ECC椭圆曲线加密(附完整代码示例)
手把手教你用Python实现ECC椭圆曲线加密(附完整代码示例) 1. 为什么选择ECC加密? 在现代密码学领域,椭圆曲线加密(ECC)正逐渐成为RSA的有力竞争者。相比传统RSA算法,ECC在相同安全级别下密钥长…...
OpenClaw调试技巧:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF任务失败排查手册
OpenClaw调试技巧:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF任务失败排查手册 1. 问题定位的基本框架 当OpenClaw任务执行失败时,我通常会按照"环境-模型-日志"三层结构进行排查。上周在调试一个自动化周报生成任务时࿰…...
