supervisor_name varchar(100), leader_id int(11) comment '班长学号' ); 2、测试数据 class表 student表 3、问题描述: 问题:查询数学成绩最高的学生信息和该学生班长的姓名...想法:想要获取班长的学号必须将学生表和班级表做一次内连接,但这样只能拿到学号,拿不到班长的姓名,所以用班长的学号再和学生表做一次自连接即可 select s1.id,s1.name,s1.gender
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 内连接、外连接、自连接...内连接 —— INNER JOIN 连接查询 —— 内连接: 内连接: ①隐式内连接 SELECT 字段列表 FROM 表1,表2 WHERE 连接条件...; ②显示内连接 SELECT 字段列表 FROM...—— LEFT OUTER JOIN 连接查询 —— 左外连接: 外连接 —— 左外连接: ①查询表1所有数据,包含表1和表2交集部分的数据。...`id`; 右外连接 —— RIGHT OUTER JOIN 连接查询 —— 右外连接 外连接 —— 右外连接: ①查询表2所有数据,包含表1和表2交集部分的数据。...`id`; 自连接 —— JOIN 连接查询 —— 自连接: 自连接: ①自连接查询,可以是内连接查询,也可以是外连接查询 SELECT 字段列表 FROM 表1 别名A JOIN 表1 别名B ON
自连接查询 假想以下场景:某一电商网站想要对站内产品做层级分类,一个类别下面有若干子类,子类下面也会有别的子类。...我们可以在数据库中创建两个字段来存储id和类别名称,使用第三个字段存储类别的子类或者父类的id,最后通过自连接去查询想要的结果。...自连接查询其实等同于连接查询,需要两张表,只不过它的左表(父表)和右表(子表)都是自己。做自连接查询的时候,是自己和自己连接,分别给父表和子表取两个不同的别名,然后附上连接条件。...查询所有分类以及分类的父类:假想有左右两张表(都是tdb_cates),左表是子表,右表是父表;查询子表的id,子表的cate_name,父表的cate_name;连接条件是子表的parent_id等于父表的...查询所有分类以及分类的子类:还是假想有左右两张表(都是tdb_cates),左表是子表,右表是父表;查询子表的id,子表的cate_name,父表的cate_name;连接条件是子表的id等于父表的parent_id
自连接 自连接:自己连接自己,如下就是表A自连接自己 SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件...; 自连接查询,可以是内连接查询...,也可以是外连接查询。...⚠️注意:自连查询必需对表取别名....自连接演示 -- 自连接 -- 1.查询员工 及其 所属领导的名字 -- 表结构: emp select a.name , b.name from emp a , emp b where a.managerid...= b.id ; 连接查询总结
在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询 一,内连接查询 是指所有查询出的结果都是能够在连接的表中有对应记录的...: 此时,就要使用内连接查询,关键字(inner join) 在这里说一下关联查询sql编写的思路,1,先确定所连接的表,2,再确定所要查询的字段,3,确定连接条件以及连接方式 select e.empName...,如果右表没有记录对应的话就显示null 查询结果: 关键字是left outer join,等效于left join,在关联查询中,做外连接查询就是左连接查询,两者是一个概念 三,右外连接是同理的...: 如果在oracle中,直接就使用full outer join关键字连接两表就行了 五,自连接查询 自连接查询就是当前表与自身的连接查询,关键点在于虚拟化出一张表给一个别名 例如:查询员工以及他的上司的名称...所以,自连接查询一般用作表中的某个字段的值是引用另一个字段的值,比如权限表中,父权限也属于权限。
mysql自连接查询是什么 1、自连接查询是特殊的多表连接查询,因为两个相关查询的表是同一个表,通过取别名虚拟成两个表然后连接。...2、自连接查询是自己和自己连接,给一张表取两个不同的别名,然后附上连接条件。...以上就是mysql自连接查询的介绍,希望对大家有所帮助。更多mysql学习指路:Mysql 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
一、什么是自连接 自连接是一种特殊的表连接,它是指相互连接的表在物理上同为一张表,但逻辑上是多张表。自连接通常用于表中的数据有层次结构的情况下,如区域表、菜单表、商品分类表等等。...area 表,表结构和数据内容如下: 字段 说明 id 主键 pid 父级ID name 区域名称 id pid name 1 0 广西 2 1 北海 3 1 南宁 4 0 海南 5 4 海口 查询出每个城市对应的省份
多表查询 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。...e, job_grades j WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal; 分类2:自连接 vs 非自连接 当table1和table2...然后两 个表再进行内连接,外连接等查询。...#7.2 自连接 VS 非自连接 SELECT * FROM employees; #练习:查询员工姓名及其管理者的id和姓名[SQL] SELECT emp.employee_id,...vs 外连接 除了查询满足条件的记录以外,外连接还可以查询某一方不满足条件的记录。
SQL自连接和非自连接是在SQL查询中经常使用的两种方法,用于将同一表中的不同行进行比较或匹配。自连接自连接是指在同一表中进行连接操作,也就是将同一表中的不同行作为两个不同的表进行连接。...现在需要查询同一客户在不同时间的订单数量,就可以使用自连接来完成。...现在需要查询每个订单对应的客户姓名和地址,就可以使用非自连接来完成。...另一个常见的非自连接场景是使用子查询,从一个表格中获取关联的数据。...现在需要查询每个订单对应的产品名称和价格,就可以使用非自连接和子查询来完成。
很多情况下会用到复合查询: ---- $query->orWhere('target_type','offline'); $query->where(function($query
连接数据库与原生查询 在 PHP 的学习中,数据库,也就是 MySQL 就像它的亲兄弟一样,永远没法分家。同理,在框架中,数据库相关的功能也是所有框架必备的内容。...Laravel 框架中的 DB 和 ORM 是两个不同的组件,关于 ORM 的概念,我们也将在相关的学习中了解到,但是现在我们先从简单的普通查询学起。...连接数据库配置 首先我们可以看下配置文件,在 Laravel 程序的 config 目录下,有一个 database.php 文件,其中有关于数据库的连接配置信息。...从 options 这个参数里面,我们可以看出,Laravel 默认使用的是 PDO 连接的数据库,我也没有研究在 Laravel 中如何使用 mysqli 进行连接,因为 PDO 确实已经是事实的连库标准了...好了,最后还差一个查询,查询就更简单了,我们直接测试一下下面的代码就好了。
zhangt85/article/details/40544165 https://www.cnblogs.com/baiyuhong/p/9753173.html 对于树状结构的数据库表,如何在一个表中查询多次...,开始走了不少弯路,比如想尝试用子查询,方向不对。...其实就是join查询使用数据库表别名(改变数据表名称)即可。...价值内容名称 Mark int `json:"mark"` Content string `json:"content"` User User } //测试查询...,希望查询出树状结构表的父子孙 //最后用join查询重命名来解决了。
多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。 前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。...一个错误 #案例:查询员工的姓名及其部门名称 SELECT last_name, department_name FROM employees, departments; 这是多表查询菜鸟经常犯的错误和误解的地方...它的作用就是可以把任意表进行连接,即使这两张表不相关 阿里开发规范: 【强制】对于数据库中表记录的查询和变更,只要涉及多个表,都需要在列名前加表的别名(或表名)进行限定。...自连接 当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义。然后两个表再进行内连接,外连接等查询。...JOIN)的实现 外连接(OUTER JOIN)的实现 左外连接(LEFT OUTER JOIN) 右外连接(RIGHT OUTER JOIN) .
实验目标: 1.掌握涉及一个以上数据表的查询方法。 2.掌握等值连接 3.掌握自然连接 4.掌握非等值连接 5.掌握自身连接、外连接和复合条件连接 本次实验sql脚本: INSERT [dbo]....该题是通过连接谓词“=”完成两表的等值连接,请将此题改成用JOIN为关键字的内连接,将相应的SQL语句描述,from子句可参考以下格式: 2.完成查询每门课程的课程号、任课老师姓名及其选课人数,请回答以下问题...: 请将查询到的信息截图 ① 此题哪几个表进行连接,连接的条件分别是什么?...: ① 请将查询到的信息截图 请将此题改成用JOIN为关键字的内连接,将相应的SQL语句描述。...② 请查询只选修了“微机原理”的学生姓名、系名,请将查询到的信息截图。 ③ 再把两个结果连接起来,现在是不是就得到了此题的结果,请把结果截图。
多表查询 SELECT * FROM SELECT * FROM students, classes; 查询的结果是一个二维表,它是students表和classes表的“乘积”,即...连接查询 连接查询是另一种类型的多表查询。...连接查询对多个表进行JOIN运算: 先确定一个主表作为结果集 然后,把其他表的行有选择性“连接”在主表结果集上 选出所有学生的信息 SELECT s.id, s.name, s.class_id, s.gender...class_name, s.gender, s.score FROM students s 主表 INNER JOIN classes c 需要连接的表 ON s.class_id = c.id;...,该查询可以获取收入超过他们经理的员工的姓名。
连接就是将两个表按照某个公共字段来拼成一个大表。 左连接就是在做连接是以左边这个表为标准,来遍历右边的表。...1、引子 左连接,自连接 SELECT * FROM test_visit t1 LEFT JOIN test_visit t2 ON t1.uid = t2.uid 结果: 2、问题 例子:...用户访问记录: 问题:查出看了湖南卫视但没有看北京卫视的用户信息 逻辑:先通过左连接将看了湖南卫视和北京卫视的查出来,然后再将看了湖南卫视但不在刚才查出的结果中的用户查出来。
up前面玩了 DB 查询,但是laravel开发基本不怎么使用db方式查询,应该有更强大的 模型 Model 介绍 Laravel 的 Eloquent ORM 提供了一个漂亮、简洁的 ActiveRecord...你可以通过模型查询数据表中的数据,以及在数据表中插入新记录。 在开始之前,请确保在 config/database.php 中配置数据库连接。更多关于数据库配置的信息,请查看 文档。...laravel 的 Model 使用先进的 Eloquent ORM 但也有优缺点 优点是数据库的操作变的简单安全 缺点也明显数据库的操作变的缓慢笨重 Eloquent ORM 作为 laravel 中亮点...使用的是单数形式帕斯卡命名法 ,也就是首字母大写的驼峰命名法 比如 up之前创建的 test表 Model 命名就是 Test.php 但是呢, laravel 都能 用命令创建控制器生成表跟数据填充了...像 get 里面这一长串方法一样,我们在查询数据的时候经常会有略微复杂的查询把它们写成一个模型方法 比如说在 app/Models/Test.php 文件中写一个 getList 方法 <?
select 完整语法: 现在一共有三张表,分别为:subject、grade、result subject 表: grade 表: result 表: 连接查询:有左连接、右连接、内连接、外连接...、自连接…....【例一】:查询科目所属的年级(科目名称、年级名称) sql 语句: 结果: 图片 =================================== 【例二】:查询 JAVA第一学年 课程成绩排名前十的学生...并且分数要大于80 的学生信息(学号、姓名、课程名称、分数) sql 语句: 结果: =================================== 【例三】:查询数据库结构-1 的所有考试结果...(学号、科目编号、成绩),降序排列 方式一: 连接查询 方式二: 子查询 结果: =================================== 自连接:查询父子信息,把一张表看成两张一样的表
【重学 MySQL】二十五、等值连接vs非等值连接、自连接vs非自连接 在MySQL中,连接(JOIN)是处理多个表之间关系的一种非常强大的工具。...根据连接的类型和条件,连接可以分为多种不同的形式,其中最常见的区分包括等值连接与非等值连接、自连接与非自连接。...自连接(Self-join) vs 非自连接(Non-self-join) 自连接(Self-join) 自连接是指表与其自身进行的连接。...这种连接通常用于处理表中具有层级或树状结构的数据,例如,员工表可能包含员工ID和上级员工ID,这时可以通过自连接来查询每个员工的上级。...总结 等值连接与非等值连接的区别在于连接条件中使用的操作符类型,而自连接与非自连接的区别则在于连接是否在同一表内进行。理解这些不同类型的连接对于处理复杂的数据库查询至关重要。
baiyuhong/p/9753173.html https://blog.csdn.net/wushuo001/article/details/79600463 对于树状结构的数据库表,如何在一个表中查询多次...,开始走了不少弯路,比如想尝试用子查询,方向不对。...其实就是join查询使用数据库表别名(改变数据表名称)即可。...价值内容名称 Mark int `json:"mark"` Content string `json:"content"` User User } //测试查询...,希望查询出树状结构表的父子孙 //最后用join查询重命名来解决了。
领取专属 10元无门槛券
手把手带您无忧上云