栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Mysql 连接查询笔记【四】

Mysql 连接查询笔记【四】

连接查询可以分为:

1)内连接查询
2)左连接查询
3)右连接查询
4)自连接查询

1. 内连接查询


查询两个表中符合条件的共有记录

内连接查询语法格式:
select 字段 from 表1 inner join 表2 on 表1.字段1 = 表2.字段2

说明:

  • inner join 就是内连接查询关键字
  • on 就是连接查询条件


例1:使用内连接查询学生表与班级表:

select * from students as s inner join classes as c on s.cls_id = c.id;

连接查询-左连接

以左表为主根据条件查询右表数据,如果根据条件查询右表数据不存在使用null值填充

连接查询-右连接

以右表为主根据条件查询左表数据,如果根据条件查询左表数据不存在使用null值填充

连接查询-自连接

左表和右表是同一个表,根据连接查询条件查询两个表中的数据。要给两张表分别取别名这样才能区分开

例1:查询省的名称为“广东省”的所有城市

  • 自连接查询就是把一张表模拟成左右两张表,然后进行连表查询。
  • 自连接就是一种特殊的连接方式,连接的表还是本身这张表
子查询

在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句,外部那个select语句则称为主查询.

主查询和子查询的关系:
1)子查询是嵌入到主查询中
2)子查询是辅助主查询的,要么充当条件,要么充当数据源
3)子查询是可以独立存在的语句,是一条完整的 select 语句

例1. 查询平均年龄的学生:

select avg(age) from students

查询大于平均年龄的学生:

select * from students where age > (select avg(age) from students);

例2;查询所有学生的班级ID

select cls_id from students;

查询学生在班的所有班级名字

select name from classes where id in (select cls_id from students)

例2;查询年龄最大和身高最高

select max(age),max(height) from students;

查询年龄最大同时也要身高最高的学生信息

select * from students where (age, height) =  (select max(age), max(height) from students);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300689.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号