MySQL 基础 (三)- 表联结--day04

Quartus ||———基于Verilog HDL的数字秒表设计实验 Quartus ||———基于Verilog HDL的数字秒表设计实验一、实验目的二、实验步骤(一)新建工程(二)添加设计文件(三)综合分析与功能仿真1、综合分析2、功能仿真 一、实验目的 用Verilog HDL设计一个数字跑表,所需引脚和功能如下: 二、实验步骤 (一)新建工程 在创建好工程名称后,选定芯片类型 (二)添加设计文件 新建Verilog文件,键入代码如下 module n_clk_top( input clk, input rese 阅读详情

1.MySQL别名

1.1 列别名 

 将查询或者筛选出来列用关键字AS 命名

SELECT 字段名 [AS] 别名 [,字段名 [AS] 别名,……] FROM 表名;

1.2 表别名

给表起一个别名,为了在查询数据时,使用起来方便,也使用关键字AS

SELECT * FROM 表名 [AS] 别名;

2.表联结 

 2.1 INNER JOIN(内联结)

如果表中有至少一个匹配,则返回行,获取两个表中字段匹配关系的记录。

 

 

语法:
SELECT column_name
FROM table_name1
INNER JOIN table_name2 
ON table_name1.column_name=table_name2.column_name


等价于:
SELECT column_name
FROM table_name1
WHERE table_name1.column_name=table_name2.column_name

2.2 LEFT JOIN(左连接)

即使右表中没有匹配,也从左表返回所有的行;会返回左表(table1)中所有的行

SELECT column_name
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

注:除此之外还有RIGHT JOIN和FULL JOIN(其中right join 和left join用法相似,即右表中的所有行,而full join 返回两个表中的所有行)

 2.3 自连接

 有时,一些特殊的查询需要对同一个关系进行连接查询,成为表的自身连接: 即一张表看成是两张表。

SELECT c1.cust_id, c1.cust_name, c1.cust_contact
FROM Customers AS c1, Customers AS c2
WHERE c1.cust_name = c2.cust_name
AND c2.cust_contact = ‘Jim Jones’;

2.4 CROSS JOIN

  • 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;
  • 假设使用CROSS JOIN连接两个表。 结果集将包括两个表中的所有行,其中结果集中的每一行都是第一个表中的行与第二个表中的行的组合。 当连接的表之间没有关系时,会使用这种情况。即,如果每个表有1000行,那么结果集中就有1000 x 1000 = 1,000,000行,那么数据量是非常巨大的。
  • 如果添加了WHERE子句,如果T1和T2有关系,则CROSS JOIN的工作方式与INNER JOIN子句类似

 

2.5 union

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。 

语法:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];


expression1, expression2, … expression_n: 要检索的列。
tables: 要检索的数据表。
WHERE conditions: 可选, 检索条件。
DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
ALL: 可选,返回所有结果集,包含重复数据。

注:UNION语句用于将不同表中相同列中查询的数据展示出来(不包括重复数据),UNION ALL语句包括重复数据。

 2.6 区别

INNER JOIN产生的结果是两张表的交集,

LEFT JOIN产生左表的完全集,右表中若没有匹配则以null值取代。

CROSS JOIN将两张表数据进行一个N*M组合,即笛卡尔积。

自连接是对于自身的操作,将自己当成两张表操作来提取需要的信息。

UNION操作符是用于连接两个以上的SELECT语句,它和INNER JOIN的区别是一个是连接两张表,另一个是连接两个SELECT语句。


参考:

https://blog.youkuaiyun.com/TNTZS666/article/details/88074247

https://www.cnblogs.com/sunchaothu/p/10460582.html 

http://www.runoob.com/mysql/mysql-join.html

作业:

 项目五:组合两张表 (难度:简单)

step1:在数据库中创建表1和表2

 

 

step2:插入数据

INSERT INTO Person VALUES(1,'jielun','zhou'),
                         (2,'yifeng','li'),
                         (3,'mi','yang');
INSERT INTO Address VALUES(4,1,'taibei','China'),
                          (5,2,'sichuan','China'),
                          (6,3,'beijing','China');

 

 step3:编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State

SELECT FirstName, LastName, City, State
FROM Person LEFT JOIN Address
ON Person.PersonId = Address.PersonId;

项目六:删除重复的邮箱(难度:简单)

编写一个 SQL 查询,来删除 email 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

 

-- 创建表并插入数据
CREATE TABLE email(
Id INT NOT NULL,
Email VARCHAR(255) NOT NULL,
PRIMARY KEY (Id)
);

-- 插入数据

INSERT INTO email VALUES(1,'a@b.com'),
                        (2,'c@d.com'),
                        (3,'a@b.com');

编写查询语句:

DELETE e1
FROM email e1,email e2
WHERE e1.Email = e2.Email AND e1.Id>e2.Id;

【Docker】掌握 Docker魔法:Windows 11 平台上的完美容器部署终极指南 【Docker】掌握 Docker魔法:Windows 11 平台上的完美容器部署终极指南 一文搞懂什么是 Docker?分析容器的工作原理、容器的架构、Docker的优势、使用 Docker的原因。 全程手把手教你Docker的安装与使用,配置阿里云镜像加速、容器常用命令! 阅读详情

相关推荐

set_data_check专题[使用,report_timing,setup/hold检查]

set_data_check用于约束『数据-对-数据』的『建立保持』时间检查,通常被称为非时序约束 ( non-sequential constraints ), 理论上set_data_check 可以设在任意的两个data pin 上,其中一个pin 称为 constrained pin 类似于寄存器的data pin, 另一个pin 称为related pin 类似于寄存器的clock pin.

cy413026的博客 1万+

175. 组合两个表

175. 组合两个表 表1: Person ±------------±--------+ | 列名 | 类型 | ±------------±--------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | ±------------±--------+ PersonId 是上表主键 表2: Address ±------------±--------+ | 列名

JF823255922的博客 329

从理论到板级:FOC电机驱动硬件电路全链路设计解析

本文从硬件工程师视角,深度解析FOC电机驱动从理论到板级实现的全链路设计。重点剖析了电源保护、核心采样电路、三相逆变桥与驱动电路等关键硬件模块的设计要点与实战经验,强调硬件是FOC算法可靠运行的基石,并提供了PCB布局布线的核心原则,帮助开发者构建高性能、高可靠性的电机驱动硬件平台。

weixin_29240711的博客 333

sql语法:inner join on, left join on, right join on详细使用方法

inner join(等值连接) 只返回两个表中联结字段相等的行 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 INNER JOIN 语法: INNER JOIN 连接两个数据表的用法: SELECT * FROM 表1 INNER JOIN 表2 ON...

'水' 库 24万+

voc与txt互转

voc2txt # coding:utf-8 from __future__ import print_function import os import random import glob import xml.etree.ElementTree as ET def xml_reader(filename): """ Parse a PASCAL VOC xml file """ tree = ET.parse(filename) size = tree.find('siz

weixin_44898889的博客 826

利用Gretna软件计算脑网络的全局属性和局部属性指标

使用Gretna,你可以计算脑网络的全局属性指标(如网络特征、小世界性和模块度),以及局部属性指标(如节点度和聚类系数)。通过Gretna,你可以计算脑网络的稀疏度,并进一步探索网络的特征和特性。Gretna是一款基于MATLAB平台的脑网络分析工具,它提供了丰富的函数和工具箱,用于计算和分析脑网络的结构和功能。在脑网络中,较高的稀疏度可能意味着神经系统的高效性和信息处理能力,因为较少的连接可以降低信息传递的成本。连接矩阵是一个N*N的矩阵,其中N表示节点的数量,矩阵的每个元素表示节点之间的连接强度。

code_program481的博客 1809

[SQL挖掘机] - 交叉连接: cross join

交叉连接是一种多表连接方式,它返回两个表的笛卡尔积,即将一个表的每一行与另一个表的每一行进行组合。换句话说,交叉连接会生成一个包含所有可能组合的结果集。交叉连接的工作原理如下:它会将左表的每一行与右表的每一行进行组合,并返回结果集。结果集的行数等于左表的行数乘以右表的行数。

统计小白er & paul_work 1285

跨应用服务器的自定义 IDoc 传输实战:以 CATSDB 工时为例,打通两套 SAP 系统的数据通道

本文介绍了在企业多SAP系统环境下,使用SAP ALE/IDoc技术实现工时数据跨系统传输的解决方案。文章从技术选型、系统架构到具体配置步骤进行了详细说明,重点阐述了IDoc/ALE在异步传输、全链路追踪和数据重放方面的优势。 文章详细讲解了端到端实施流程,包括Logical System配置、RFC Destination创建、Message Type定义、Segment和Basic Type设计等关键步骤。同时提供了出站封装的ABAP代码示例,强调调用MASTER_IDOC_DISTRIBUTE函数后执

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 173

SQL 2

汇总分析 查询学生的总成绩并进行排名: select 学号,sum(成绩) as 总成绩 from score group by 学号 order by 总成绩 查询平均成绩大于60分的学生的学号和平均成绩 select 学号,avg(成绩) as 平均成绩 from score group by 学号 having 平均成绩 >60 3.复杂查询 查询所有课程成绩小于60分学生的学号、姓名 我的答案: select 学号,姓名 from student where 学号 n.

Coder的博客 520

Unity 工具 之 SoftMask软遮罩 实现 UI 边缘渐变过渡的简单使用介绍

目录Unity 工具 之 SoftMask软遮罩 实现 UI 边缘渐变过渡的简单使用介绍一、简单介绍二、Mask 实现的遮罩效果三、Soft Mask 实现遮罩效果四、 Soft Mask 的一些设置五、插件下载Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。

仙魁XAN 8575

llama2-7b下载并转llama-2-7b-hf

④输入https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/convert_llama_weights_to_hf.py会下载 convert_llama_weights_to_hf.py 文件,我们需要用到这个文件将llama2-7b转成llama-2-7b-hf。③下载完之后是这四个文件,这里我是在windows操作系统中安装的WSL,没有linux操作系统,没办法。

wenling54321的博客 1031

SQL 数据高级查询——连接查询

左外连接使用LEFT JOIN进行连接,左外连接的结果集包括LEFT JOIN子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。交叉连接使用CROSS JOIN 进行连接,没有where子句的交叉连接将产生所有涉及的表的笛卡儿积,第一个表的行数乘以第二个表的行数等会笛卡儿积结果集的大小。右外连接使用right join进行连接,是左外连接的反方向连接,将返回右表的所有行。在from子句中写入需连接的多个表的名称,然后将任意两个表的连接条件分别写在where子句后。内连接使用JOIN进行连接,语法如下。

weixin_45467975的博客 3315

YOLOv12涨点改进 | 全网独家首发Conv改进篇 | Arxiv 2025 | 引入一种新的WConv加权卷积改进YOLOv12,显著提升其特征提取能力和目标检测精度

本文提出了一种新型加权卷积(WConv)模块,通过引入最优密度函数动态调整邻域像素权重,显著提升了YOLOv12目标检测性能。WConv在保持参数数量不变的情况下,提高了模型精度(VGG准确率提升10%)、增强了小目标检测能力,并改善了多尺度特征提取。文中详细介绍了模块原理、网络结构改进方法,并提供了核心代码实现和yaml配置文件。实验表明,该方法在图像任务中最高可降低53%的损失,虽然会带来11%的时间开销,但具有优异的鲁棒性。该技术可广泛应用于2D/3D图像处理领域。

Ai缝合怪、助力小伙伴高效发论文 216

Ubuntu20.04基础MySQL Day01

/创建数据库,可选项[]为是否需要判断是否存在,如果不存在就创建,如果存在则不创建,是否设定为字符集为utf8。新建连接,设置好连接名,设置需要连接的Ubuntu中的数据库用户名和密码,如上文提到的超级用户用户名和密码,然后选SSH,使用SSH隧道,输入Ubuntu内网IP,输入Ubuntu登录用户名和密码,连接成功。//创建一张表,其中设置一定数量的字段,每个字段设置类型,类型的宽度为可选项,约束条件为可选项,字段说明为可选项,结尾对表的一些设置为可选项。) values (值1,值2,值3,…

Gravity0323的博客 126

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Mysql基础学习Day04

Mysql基础学习Day04

qq_45732338的博客 760

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Day04-MySQL多表】

一个业务操作包含多个子操作,如果这个业务操作被事务管理了,那么这些子操作要么同时成功,要么同时失败。在MySQL数据库中,默认情况下,一条DML语句就是一个独立的事务。SQL语法描述begin;开启手动控制事务commit;提交事务rollback;回滚事务-- 事务的三个api-- 开启事务 begin;-- 提交事务 commit;-- 回滚事务 rollback;begin;--开启事务commit;-- 提交事务begin;--开启事务rollback;

Doshaxin的博客 994

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

MySQL基础学习笔记_Day04

MySQL基础学习_Day041. 前言2. DQL语言的学习(四)2.1 union联合查询3. DML语言的学习3.1 插入语句3.2 修改语句3.3 删除语句4. DDL语言学习4.1 库的管理4.2 表的管理4.3 常见数据类型 1. 前言 2. DQL语言的学习(四) 本节内容:union联合查询 2.1 union联合查询 union (联合/合并):将多条查询语句的结果合并成一个结果 应用场景: 要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时 特点: 要求多条查询

传说哈哈哈 215

ubuntu18.04下的mysql创建表

数据分析小项目练手——hotel-bookingMySQL创建数据表欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 MySQL创建数据表 CREATE TABLE IF NOT EXISTS

weixin_49648625的博客 745

MySQL学习之路--Day04

MySQL各个函数应用,事务索引的概念

CXY_DXL的博客 1282

MySQL6天笔记——day04

文章目录MySQL数据库DML语言插入语句修改语句删除语句DDL语言库的管理表的管理数据类型数值型字符型日期型欢迎斧正!!! MySQL数据库 全部SQL源文件链接:https://pan.baidu.com/s/1wc51qkVetSRybFzcIYGBIg 提取码:3wpt DML语言 数据操作语言 插入:insert 修改:update 删除:delete 插入语句 方式一:经典的插入 语法:insert into 表名(字段名,…) values(值,…); 特点 1、

杨丙寅 5251

MYSQL_DAY_04 单表查询

书写顺序: select - distinct - 聚合函数 - from -where - group by - having - order by - limit可以脑子里 先想好 需要什么 然后再按这个进行排序 就不容易出错了 也不需要先看这个去想条件 不然会很乱 的 可以先 想 再对照 格式 套进去。

Sb3111666666的博客 410

MySQL学习之路--Day02

如果是看了我所推荐的那边文章,那么对于MySQL服务器的开启,是在小皮软件上进行的,那么我们可以进行如下操作。重启了之后,在重新把刚才创建的分类表和商品表删除,重新创建即可。从零到熟悉MySQL,虽然一路上磕磕绊绊,但终有收获~点击引擎傍边的倒三角,选择InnoDB,在点击确认。打开小皮,关闭MySQL服务。重新启动MySQL服务即可。

CXY_DXL的博客 1045

day04 mysql

day04_mysql 今日目标 排序查询 聚合查询 分组、分页查询 克隆表与数据 多表操作 DQL 查询语句 排序查询 # 语法格式SELECT * FROM 表名 ORDER BY 排序字段 ASC 或 DESC; ASC 升序 (默认) DESC 降序#根据价格降序排列select * from product order by price desc;#根据价格降...

okbin1991的博客 62

黑马JavaWeb开发跟学(八)MySQL多表查询以及MyBatis基础

MySQL多表查询以及MyBatis基础

心向阳光的天域的博客 1018

day04 MYSQL多表查询操作

在表关系的笛卡尔积中,不仅保留表关系中所有匹配的数据记录,而且还保留部分不匹配的记录。关系:一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率。在表关系的笛卡尔积数据记录中,保留表关系中所有匹配的数据记录,舍弃不匹配的数据记录。在具体实现连接操作时,首先将两个或两个以上的表按照某个条件连接起来,然后再查询到所要求的数据记录。如示例所示,直接插入两个表进行查询,会导致一个表中的一条数据,对应另一个表中的所有数据。

ylh的博客 1172

JAVA WEB DAY 10_ MySQL 多表查询 与 事物

文章目录MySQL多表查询与事务目标01_DCL-[★]02_数据库备份和还原-[★★★]03_数据库三大范式-[★★]04_表关系-一对一-[★★★]05_表关系-一对多-[★★★]06_表关系-多对多-[★★★]08_多表查询概述和数据准备-[★★]09_笛卡尔积现象-[★★]10_内连接查询-[★★★]11_左外连接查询-[★★★]12_右外连接查询-[★★★]13_子查询概述-[★★]14_单行单列子查询-[掌握]15-多行单列子查询-[★★★]16-多行多列子查询-[★★★]17_多表查询案例-[

NTT0101的博客 283
上一篇: MySQL 基础 (二)- 表操作----day03
下一篇: mysql学习----day05
小小哆啦的口袋
博客等级 码龄9年 33粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值