MySQL_连接查询

news2024/11/16 3:47:48

无奋斗不青春

课 程 推 荐
我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)教程合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库教程合集 👈👈
MySQL数据库教程:👉👉 MySQL数据库教程合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集 👈👈
.

分隔线
在这里插入图片描述

MySQL_连接查询

        • 连接查询

连接查询
  • 连接查询是将两个或两个以上的表按照某个条件连接起来,从中选取需要的数据
  • 内连接查询
  • 外连接查询
    • 左连接查询
    • 右连接查询
  • 多条件连接查询

  • 创建测试数据库,创建t_book表和t_bookType表并添加数据

    CREATE DATABASE /*!32312 IF NOT EXISTS*/`db_book` /*!40100 DEFAULT CHARACTER SET utf8 */;
    
    USE `db_book`;
    
    /*Table structure for table `t_book` */
    
    DROP TABLE IF EXISTS `t_book`;
    
    CREATE TABLE `t_book` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `bookName` varchar(20) DEFAULT NULL,
      `price` decimal(6,2) DEFAULT NULL,
      `author` varchar(20) DEFAULT NULL,
      `bookTypeId` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
    
    /*Data for the table `t_book` */
    
    insert  into `t_book`(`id`,`bookName`,`price`,`author`,`bookTypeId`) values (1,'Java编程思想','100.00','埃史尔',1),(2,'Java从入门到精通','80.00','李钟尉',1),(3,'三剑客','70.00','大仲马',2),(4,'生理学(第二版)','24.00','刘先国',4);
    
    /*Table structure for table `t_booktype` */
    
    DROP TABLE IF EXISTS `t_booktype`;
    
    CREATE TABLE `t_booktype` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `bookTypeName` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
    
    /*Data for the table `t_booktype` */
    
    insert  into `t_booktype`(`id`,`bookTypeName`) values (1,'计算机类'),(2,'文学类'),(3,'教育类');
    
  • 请添加图片描述

  • 请添加图片描述


  • 内连接查询
  • 内连接查询是一种最常用的连接查询。内连接查询可以查询两个或者两个以上的表
    SELECT tb.id,tb.bookName,tby.bookTypeName FROM t_book tb,t_bookType tby WHERE tb.booktypeid=tby.id
    
  • 外连接查询(JOIN)
  • 外连接可以查出某一张表的所有信息;
  • 外连接查询,条件关键字不是where而是ON
  • 使用外连接查询的两个表,必须有关联条件
  • 语法
    SELECT 属性名列表 
     FROM 表名1 LEFT|RIGHT JOIN 表名2 
       ON 表名1.属性名1=表名2.属性名2;
    
    -- LEFT:左连接——可以查询出“表名1”的所有记录,而“表名2”中,只能查询出匹配的记录;
    -- RIGHT:右连接——可以查询出“表名2”的所有记录,而“表名1”中,只能查询出匹配的记录;       
    
  • 左连接
    SELECT a.id,a.bookname,b.bookTypeName bookTypeName FROM t_book a LEFT JOIN t_booktype b ON a.bookTypeId=b.id;
    
  • 右连接
    SELECT a.id,a.bookname,b.bookTypeName bookTypeName FROM t_book a RIGHT JOIN t_booktype b ON a.bookTypeId=b.id;
    
    • 请添加图片描述
  • 多条件连接查询
  • 内连接
    select 字段1,字段2,...
      from1,2 
     where 条件表达式1 and 条件表达式2
    
  • 外连接
    select 字段1,字段2,...
      from1 [left|right] join2 
        on 条件表达式1 and 条件表达式2
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2163197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据】数据中台怎么样助力企业创新和客户实践

在当今数字化时代,数据成为了企业竞争的关键因素。企业拥有大量的数据,但如何高效地利用这些数据,实现创新和提升客户体验,成为了一项重要的挑战。数据中台作为一种重要的数据管理和分析工具,发挥着关键的作用。本文将…

Maven 学习整理

1. Maven 简介 Maven 是 Apache 基金会推出的一个用于管理和构建 Java 项目的工具。它基于项目对象模型 (Project Object Model , 简 称: POM) 的概念,通过描述项目的依赖、结构、生命周期等,简化项目管理。 官网: https://maven.apache.org…

Spring、SpringBoot 框架功能学习

目录 一. Spring核心功能 二. Spring与SpringBoot区别 三. Spring与SpringMVC区别 四. SpringBoot与SpringCloud区别 五. 微服务组件 一. Spring核心功能 依赖注入(DI):Spring的核心功能是通过依赖注入来管理对象之间的依赖关系。依赖注…

第L4周:机器学习-KNN总结-分类

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 概念: 在第L4周:机器学习-K-邻近算法模型(KNN)-CSDN博客中学习了KNN的基本概念,本次主要加深印象&a…

scrapy 爬取微博(四)【最新超详细解析】: 设计篇

一、功能设计 开始开发之前我们先对本文的scrapy微博爬虫工程进行一个功能的设计,包含的功能模块如下: 功能模块具体描述微博文章爬取根据关键词、时间范围等参数爬取微博文章,获取用户名、ID、微博mid、微博内容、点赞、转发、评论等数据微…

全国各省市生产总值指数-工业增加值指数(1999-2020年)

工业增加值指的是工业企业在一定时期内通过生产活动创造的新增价值,它等于工业总产值减去工业中间投入的差额。这一指标的计算可以采用生产法和收入法两种方式。生产法通过计算工业总产值与中间消耗的差额来得到,而收入法则将工业增加值视为固定资产折旧…

HarmonyOS Next(纯血鸿蒙)它到底像谁

前言 24年的第1天有写过一篇关于鸿蒙的文章:不吹不黑,辩证看待开发者是否需要入坑鸿蒙 后续再也没有写关于鸿蒙的文章。 没错,我确实入坑了鸿蒙,并且成功上架了几款App和元服务,虽然当前的用户量还比较少&#xff0c…

微信小程序——引入 iconfont 矢量图标,如何使用引用阿里巴巴矢量图标

本文介绍如何在小程序中加入图标,效果如下图: 1、访部iconfont-阿里巴巴矢量图标库 找到需要的图标,然后添加入库 将增加好的图标添加到项目中 2、点击更新生成代码 生成后如下图 3、打开生成的css样式文件 4、在小程序中新建/static/iconfon…

利士策分享,如何在有限的时间内过上富足的生活?

利士策分享,如何在有限的时间内过上富足的生活? 在快节奏的现代生活中,追求富足不仅仅是物质上的丰盈,更是心灵的满足与生活的平衡。 如何在有限的时间内实现这一目标,是许多人心中的疑问。 以下是一些实用建议&#…

Ubuntu 20.04 内核升级后网络丢失问题的解决过程

在 Ubuntu 系统中,内核升级是一个常见的操作,旨在提升系统性能、安全性和兼容性。然而,有时这一操作可能会带来一些意外的副作用,比如导致网络功能的丧失。 本人本来是想更新 Nvidia 显卡的驱动,使用 ubuntu-drivers …

postman中使用Pre-request Script

一、get方法 get请求时 ,有多个params,并且有一个参数为sign,这个参数是有其他params拼接之后md5加密得到的,如何通过js语句获取params参数并生成sign。 const CryptoJS require(crypto-js); // 引入 CryptoJS 库进行 MD5 加密…

安卓数据存储——SQLite

一、SQLite数据库 创建表 CREATE TABLE IF NOT EXISTS user_info (_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,name VARCHAR NOT NULL,age INTEGER NOT NULL,height LONG NOT NULL,weight FLOAT NOT NULL);注: IF NOT EXISTS:如果该表不存在则创…

Docker更换阿里容器镜像源

以Mac为例, 一、获取阿里容器镜像加速器地址 访问阿里云官网https://cn.aliyun.com/ 登录阿里云,没有账号就注册一个 登录完成后在搜索框搜索,容器镜像服务,并打开 点击管理控制台,进入管理控制台 左侧点击镜像加速…

ubuntu重新安装clickhouse

1.卸载clickhouse 关闭原来的clickhouse sudo systemctl stop clickhouse-server 查看关闭clickhouse是否成功 sudo systemctl status clickhouse-server 备份配置文件 /etc/clickhouse-server/user.xml /etc/clickhouse-server/config.d/metrika.xml /etc/clickhouse…

蚂蚁Raft一致性算法库SOFAJRaft深入分析

大家好,我是 V 哥,SOFAJRaft 是蚂蚁金服开源的一个基于 Raft 共识算法的 Java 实现,它特别适合高负载、低延迟的分布式系统场景。SOFAJRaft 支持 Multi-Raft-Group,能够同时处理多个 Raft 集群,具有扩展性和强一致性保…

实验室ICPR 2024论文分享┆FPMT: 基于增强型半监督模型的交通事件检测(含详细视频解读)

目录 论文分享简介 1. 会议介绍 2. 研究背景及主要贡献 3. 方法 4. 实验 5. 结论 6. 论文介绍视频 论文分享简介 本推文详细介绍了一篇实验室的最新论文成果《FPMT: Enhanced Semi-Supervised Model for Traffic Incident Detection》,该论文已被第27届国际…

尚硅谷———-乐(智)尚代驾~~--------Day5----司机认证篇~

前言: Hello亲爱的uu们,在读过了一个愉快的周末后(摸鱼了一会),我又回来更新啦,感谢uu们的阅读,话不多说~ 司机认证 当司机点击开始接单的时候,会先判断该司机有没有通过认证&…

关于PCA的一份介绍

在这篇文章中,我将介绍机器学习中的一种无监督学习算法——PCA,因为它主要有两种用途,即降维与特征提取,所以我将将围绕这两种用途来介绍它,包括基本概念,应用与代码实践。 一、 PCA 1.1 概念 PCA&#…

dev containers plugins for vscode构建虚拟开发环境

0. 需求说明 自用笔记本构建一套开发环境,用docker 虚拟插件 dev containers,实现开发环境的构建,我想构建一套LLMs的环境,由于环境配置太多,不想污染本地环境,所以选择隔离技术 1. 环境准备 vscodedocker 2. 步骤…

任意长度并行前缀和 扫描算法 《PMPP》笔记

下面的算法针对于任意长度输入 对于大数据集,首先将输入分为几段,每一段放进共享内存并用一个线程块处理,比如一个线程块使用1024个线程的话,每个块最多能处理2048个元素。 在前面代码中,一个块最后的执行结果保存到了…