返回顶部
首页 > 资讯 > 数据库 >mysql连接查询详解
  • 769
分享到

mysql连接查询详解

2024-04-02 19:04:59 769人浏览 八月长安
摘要

目录1.连接查询2、连接类型内连接定义:语法1: 语法2: 3个表连接显示指定列左连接定义:语法:右连接  定义:语法:自关联定义 

1.连接查询

作用:当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回

2、连接类型

内连接

定义:

内连接查询:查询结果为两个表匹配到的数据

语法1:

select * from 表1
inner join 表2 on 表1.列 = 表2.列

例:查询学生信息及学生成绩

 语法2:

 select * from 表1,表2 on 表1.列 = 表2.列

注:通常不使用此语法,效率较低

 3个表连接

-- 查询学生信息及学生的课程对应的成绩

显示指定列

 

左连接

定义:

查询的结果为两个表匹配到的数据加左表特有的数据,对于右表中不存在的数据(匹配不到)使用null填充

语法:

select * from 表1
left join 表2 on 表1 .列 = 表2.列

例:

查询所有学生的成绩,包括没有成绩的学生

 例:

查询所有学生的成绩,包括没有成绩的学生,需要显示课程名

右连接 

 定义:

右连接查询:查询结果为两个表匹配到的数据加右表特有的数据,对于左边中不存在的数据使用null填充

语法:

select * from 表1
right join 表2 on 表1 .列 = 表2.列

例:查询所有学生的成绩,包括没有成绩的学生 

 例:

查询所有学生的成绩,包括没有成绩的学生,需要显示课程名

自关联

定义

连接查询的一种应用,对同一个表查询多次,把查询多次得到的结果连接组成新的结果 

主要应用场景:数据有上下级关系,并且存于同一个表中

 例:查询河南省的所有城市

 

例:查询郑州市的所有区县 

 

例:查询河南省所有区县

 子查询

定义

在一个select 语句中,嵌入另外一个select语句,那么嵌入的那个select语句称之为子查询语句

主查询

外城的select称之为主查询语句

主查询和子查询的关系

子查询是嵌入到主查询中子查询是辅助主查询的,要么充当条件,要么充当数据源子查询是可以独立存在的语句是一条转正的select语句 

子查询充当条件

以下例子中子查询返回结果只有一个值(一行一列),这种称之为标量子查询

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

-- 查询班里学生的平均年龄
SELECT AVG(age) FROM students --21.5833
-- 查询大于平均年龄的学生
SELECT * from students where age > 21.5833
SELECT * FROM students where age >(SELECT AVG(age) FROM students);

以下例子返回数据结果是一列数据(一列多行),这种称之为列子查询

例: 查询18岁学生的成绩,要求显示成绩

-- 学生表中查询18岁学生的学号
SELECT studentNo from students WHERE age = 18
-- 成绩表中根据学号查询成绩
SELECT * FROM scores where studentNo in ('002','006' )
SELECT * FROM scores where studentNo in (SELECT studentNo from students WHERE age = 18 )

 以下例子查询的结果是一行(一行多列),这种称之为行子查询

例:查询和王昭君同班、同龄的学生信息 

SELECT class,age from students where name = '王昭君'
SELECT * from students where class = '1班' and age = 20
SELECT * from students where (class,age) = ('1班' , '20')
SELECT * from students where (class,age) = (SELECT class,age from students where name = '王昭君')

 子查询充当数据源

以下例子子查询返回的结果是多行多列(相当于一个表),这种称之为表级子查询;

例:查询数据库和系统测试的课程成绩

子查询中特定关键字使用 

in范围 

格式:主查询where条件in(列子查询)

any|some任意一个

格式:主查询where 列 = any(列子查询)

在条件查询的结果中匹配任意一个几个,等价于in  

all

格式:主查询where列 = all(列子查询):等价于里面所有

格式:主查询where列<>all(列子查询):不等于其中所有 

到此这篇关于Mysql连接查询的文章就介绍到这了,更多相关mysql连接查询内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: mysql连接查询详解

本文链接: https://lsjlt.com/news/149172.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql连接查询详解
    目录1.连接查询2、连接类型内连接定义:语法1: 语法2: 3个表连接显示指定列左连接定义:语法:右连接  定义:语法:自关联定义 ...
    99+
    2024-04-02
  • MySql连接查询方式详解
    目录1. 什么是连接查询2. 连接查询的方式3. 内连接1. 等值连接2. 非等值连接3. 自连接4. 外连接1. 右外连接2. 左外连接5. 多张表(两张以上)连接1. 什么是连接查询 从一张表中单独查询,称为单表查询...
    99+
    2024-04-02
  • MySQL连接查询实例详解
    本文实例讲述了MySQL连接查询。分享给大家供大家参考,具体如下: 创建表suppliers: CREATE TABLE suppliers ( s_id int NOT NULL AUTO_...
    99+
    2024-04-02
  • MySQL多表连接查询详解
    目录多表连接查询内连接左连接右连接子查询总结多表连接查询 表与表之间的连接分为内连接和外连接 内连接:仅选出两张表互相匹配的记录 外连接:既包括两张表匹配的记录,也...
    99+
    2024-04-02
  • 连接查询详解
    连接查询:以一个共同的字段,求两张表当中符合条件的并集。 通过共同字段把这两张表连接起来。常用的连接:内连接:根据表中的共同字段进行匹配外连接分两种:左外连接、右外链接。  1内连接 语...
    99+
    2024-04-02
  • mysql的内连接,左连接和右链接查询详解
    mysql> SELECT * FROM tcount_tbl; +---------------+--------------+ | runoob_author | ...
    99+
    2024-04-02
  • MySQL总结(十)表连接查询(内、外连接)-详解
    表连接查询 1.什么是多表查询 准备数据 # 创建部门表 create table dept( id int primary key auto_increment, name varchar(20) ) insert...
    99+
    2020-11-18
    MySQL总结(十)表连接查询(内 外连接)-详解
  • mysql连接查询
    11.5连接查询(列连接) 问题:学生表有十条数据,成绩表有十条数据。 连接之后有多少条数据(笛卡尔积):10*10=100   连续查询会产生笛卡尔积;假设集合A = {a,b},集合B = {c,d} 两个集合的笛卡尔积{(a,c),...
    99+
    2020-01-06
    mysql连接查询
  • MySQL 四种连接和多表查询详解
    目录MySQL内连接、左连接、右连接、外连接、多表查询构建环境:一、INNERJION内连接(A∩B)二、LEFTJOIN左外连接(A全有)三、RIGHTJOIN右外连接(B全有)四...
    99+
    2024-04-02
  • 连接查询(多表查询)——MySQL
    连接查询(多表查询) 又称多表查询,当查询的字段涉及多个表的时候,就要用到连接查询 分类: 为表起别名: 提高语句的简洁度区分多个重名字段注意:如果为表起了别名,则查询的字段就不能使用原来的别名去限定 内连接 查询A、B 交集部分数据 语...
    99+
    2023-08-18
    数据库 mysql 多表查询
  • mysql 子查询与连接表详情
    目录1、什么是子查询?2、自联接3、自然联接4、外部联结1、什么是子查询? 列出订购物品TNT2的所有客户: select cust_id from orders wh...
    99+
    2024-04-02
  • SQL中的连接查询详解
    Join 连接 (SQL Join) SQL Join (连接) 是利用不同数据表之间字段的关连性来结合多数据表之检索。 SQL Join是结合多个数据表而组成一抽象的暂时性数据表以供数据查...
    99+
    2022-06-18
    SQL 连接查询
  • mysql连接查询、联合查询、子查询原理与用法实例详解
    本文实例讲述了mysql连接查询、联合查询、子查询原理与用法。分享给大家供大家参考,具体如下: 本文内容: 连接查询 联合查询 子查询 from子查询 where子查询 ...
    99+
    2022-05-12
    mysql 连接查询 联合查询 子查询
  • MYSQL自连接查询
    MYSQL自连接查询 概念:左表和右表是同一个表,根据连接查询条件查询两个表中的数据. 说明: ​ (1)自连接查询必须对表起别名; ​ 2) 自连接的使用方法和内连接,左连接,右连接完全相同,只不过连接的左表和右表是同一张表. 案例 CR...
    99+
    2023-08-20
    mysql 数据库 sql
  • mysql 连接查询(俗称连表查询)内连接、外连接、自然连接
    连接查询的分类 本文讨论中用到的测试数据``create table student(id int primary key auto_increment,name varchar(10));ins...
    99+
    2024-04-02
  • MySQL之连接查询和子查询
    多表连接的基本语法 多表连接,就是将几张表拼接为一张表,然后进行查询 select 字段1, 字段2, ... from 表1 {inner|lift|right} join 表2 on 连接条件; 有如下两张表:部门表和员工...
    99+
    2015-01-24
    MySQL之连接查询和子查询
  • Mysql查询数据库连接状态以及连接信息详解
    目录查看显示所有数据库查看当前使用的数据库查看数据库使用端口查看当前数据库大小查看数据所占的空间大小查看索引所占的空间大小查看数据库编码查看数据库的表信息查看数据库的所有用户信息查看某个具体用户的权限查看数据库的最大连接...
    99+
    2023-04-14
    mysql查询数据库连接信息的命令 MySQL数据库连接 mysql查询数据库连接状态信息
  • Mysql Join-连接查询(中)
    Mysql Join-连接查询(中) 认识 就我平时的数据接触来看, 连接查询也没有很复杂,不够是非常需要耐心和逻辑的, 一点点将数据查出来, 拼接等. 没有什么技巧, 多练习就会了. 无非就是表之间根据共同key来连接, 查询时结合uni...
    99+
    2016-09-20
    Mysql Join-连接查询(中)
  • MySQL中的连接查询(等值连接)
    目录1. 笛卡尔乘积2. 分类(1)按年代分类(2)按功能分类3. 等值连接4. 总结1. 笛卡尔乘积 表1有m行数据,表2有n行数据,查询结果有m*n行数据。 2. 分类 (1)按年代分类 sql92标准:仅支持内连接...
    99+
    2022-07-20
    MySQL连接查询 MySQL等值连接 MySQL中的查询
  • 什么是MySQL 连接查询
    什么是MySQL 连接查询?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。          ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作