数据库-联合查询(内连接外连接),子查询,合并查询

jlink驱动安装 jlink驱动下载安装及keil识别 阅读详情

一.为什么要使用联合查询

在数据设计时由于范式的要求,数据被拆分到多个表中,那么要查询一个条数据的完整信息,就要从多个表中获取数据,如下图所示:要获取学生的基本信息和班级信息就要从学生表和班级表中获取,这时就需要使用联合查询,这里的联合指的是多个表的组合。

二.多表联合查询时MYSQL内部是如何进行计算的​

参与查询的所有表取笛卡尔积,结果集在临时表中

笛卡尔积就是两表每一个行之间的全排列

联合表的个数越多,笛卡尔积就越大一般不超过三个

观察哪些记录是有效数据,根据两个表的关联关系过滤掉无效数据 要用到where条件
可以看到学生的班级编号和班级的id是一致的就是有效数据

以上就是有效数据

再举个例子

在下面两个表中查找许仙同学的成绩

 

寻找笛卡尔积

 可以看到非常之多

确定关联字段-- student_id

确定结果集的过滤字段

 精简查询字段

join on写法

上述都是内连接

接下来说外连接

外连接分为左外连接、右外连接和全外连接三种类型,MySQL不支持全外连接。​
左外连接:返回左表的所有记录和右表中匹配的记录。如果右表中没有匹配的记录,则结果集中对应字段会显示为NULL。​
右外连接:与左外连接相反,返回右表的所有记录和左表中匹配的记录。如果左表中没有匹配的记录,则结果集中对应字段会显示为NULL。​

全外连接:结合了左外连接和右外连接的特点,返回左右表中的所有记录。如果某一边表中没有匹配的记录,则结果集中对应字段会显示为NULL。​

外连接在内连接的基础上的不同是基准表的所有行会全部显示出来,不管有没有被筛选

具体语法:

左连接:select 字段名 from 表名1 left join 表名2 on 连接条件;

右连接:select 字段 from 表名1 right join 表名2 on 连接条件;

 具体用例

 自连接(外连接)

自连接是自己与自己取笛卡尔积,可以把行转化成列,在查询的时候可以使用where条件对结果进行过滤,或者说实现行与行之间的比较。在做表连接时为表起不同的别名。
 

联合上面的学生表,成绩表和下面的课程表计算机原理大于java成绩的记录

取笛卡尔积

确定连接条件

 查出计算机组成原理大于java的成绩

 子查询:

子查询是把一个SELECT语句的结果当做别一个SELECT语句的条件,也叫嵌套查询​

查询与'不想毕业'同学的同班同学

以下是分步普通查询的做法↓

子查询写法

多行子查询 ​
嵌套的查询中返回多行数据,使用[NOT] IN关键字​

查询语文或英文课程的成绩

在from子句中使用子查询:子查询语句出现在from子句中。这里要用到数据查询的技巧,把一个子查询当做一个临时表使用。

查询所有比'中文系2019级3班'平均分高的学生成绩信息 

先查询平均成绩

再用这个临时表来联合查询 tmp是临时表的别名

也可以写成这样

 合并查询

在实际应用中,为了合并多个select操作返回的结果,可以使用集合操作符 union,union all​

关键字union(去除重复的行) union all(不去除重复的)

 

使用联合查询

 插入查询结果

多插入一条许仙学生信息student_id 11

 

 

hwasan实例分析踩内存之七:CamX进程chifeature2base怪异的Cause: use-after-free 摘要:本文分析了高通camx进程中的指针异常crash问题,通过构建hwasan版本确认存在内存踩踏现象。日志显示为"use-after-free"类型错误,具体为线程T175672在已释放内存区域执行写入操作。堆栈分析表明ChiFeature2Base::PipelineDestroyCb()函数访问了已被ChiFeature2Base::DestroyFeatureData()释放的pPipelineData对象。该问题源于多线程环境下内存管理不同步,导致释放后仍被引用。解决方案通过 阅读详情

相关推荐

ADS AEL脚本进阶:参数化电感与变压器的自动化设计

本文深入探讨了如何利用ADS AEL脚本实现电感与变压器的参数化与自动化设计。通过构建可复用的函数库、封装高级设计流程、集成DRC检查与性能预估,将繁琐的手动绘制升级为高效的智能设计引擎,并最终通过创建GUI工具降低使用门槛,大幅提升射频/微波电路设计效率。

weixin_29309785的博客 203

MySQL多表查询(联合查询、连接查询、子查询)

EXCEPT 将两张表的某些字段的公共记录减去,然后返回一张表的剩余记录(差集)(MySQL不存在,使用NOT IN字段实现)3、作为联合查询的多表之间的列数、以及列数的类型必须相同(例如:表1查询哪些列,表2就查询哪些列)1、通过联合查询,可以得到两张表中记录的集合或者公共记录的集合,或者其中某张表中的记录的集合。将两张表的全部记录交叉组合,在添加了其他表字段的同时,所得的记录数是两张表行数的乘积。#查询张三入职之后的所有员工信息(先查询张三的入职信息,再查询此时间之后的员工信息。

m0_49864110的博客 3万+

AD23导出Gerber文件保姆级教程:从PCB到嘉立创下单,一步不落(附常见问题排查)

本文提供AD23导出Gerber文件的详细教程,涵盖从PCB设计检查到嘉立创下单的全流程,特别针对两层板设计场景,帮助新手工程师避免常见错误。内容包括Gerber文件生成步骤、钻孔文件设置、文件检查工具推荐以及嘉立创下单实操指南,确保PCB打样顺利。

weixin_30924239的博客 440

聚合查询+联合查询+子查询

文章目录一、聚合查询1.聚合函数二、使用步骤1.引入库2.读入数据总结 一、聚合查询 1.聚合函数 常见的统计总数,计算平均值的操作,可以用聚合函数来实现,常见的聚合函数有: 这些函数都比较简单: 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn a

爱敲代码的三毛的博客 4978

麦克风声源定位原理_声源定位—如何定位到噪声根源?

前言TPA(传递路径分析)专题系列已经开篇。其遵循方法论:源(Source)——路径(Path)——响应(Receiver)有人说TPA好,它可以识别出路径处甚至源的载荷特征,可以量化各个路径的贡献量。有人说声源定位好,不管东西南北中,“源”自其中。但是,声源定位识别出来色彩丰富的一个结果,这结果被您拿来应付工作了,还是真正帮您解决了问题?声源定位定位到了噪声的根源了么?对于一些声源现,...

weixin_39943678的博客 3973

嵌入式统一消息机制:模块解耦与零拷贝通信设计

在嵌入式系统开发中,模块间通信(IMC)是影响可维护性与实时性的关键环节。传统IPC方式如全局变量、信号量或Socket易导致高耦合、调试困难及跨平台适配成本高。统一消息机制通过逻辑地址抽象、标签/实体分离、路由表驱动等原理,实现控制流与数据流解耦,在裸机、RTOS及Linux用户态保持一致接口。其技术价值在于降低模块依赖复杂度、支持动态增删与分布式迁移,并通过零拷贝优化显著减少CPU与内存开销。典型应用场景涵盖工业网关、城域交换机、多核ARM边缘设备等资源受限环境,尤其适用于需长期稳定运行、快速迭代与混合

weixin_35257663的博客 263

Mysql联合查询

联合查询深入理解1.联合查询定义及数据准备2.内连接2.1 例子1:2.2 查询所有学生的总成绩3.外连接4. 自连接5.子查询6.合并查询 1.联合查询 定义及数据准备 实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积: 关于笛卡尔积通过一个例子理解: 如在a表中有a1,a2,a3,在b表中有b1,b2,b3等数据,因此笛卡尔积就为 a1b1,a1b2,a1b3 a2b1,a2b2,a2b3, a3b1,a3b2,a3b3 表a中的所有数据都能跟表b的所有数据有所对

weixin_44712669的博客 1650

基于Simulink进行双向DC-DC变换器的仿真建模

特点双向性:可以将能量从一个电压等级转换到另一个,且方向可逆。效率高:通过合理的控制策略减少能量损失。应用广泛:如电池管理系统、混合动力汽车等。挑战拓扑选择:根据应用场景选择合适的电路结构(如buck-boost、full-bridge等)。控制策略:确保高效稳定运行的同时,适应负载变化。热管理:有效散热以保持长期可靠性。首先明确要模拟的任务内容。设计一个能够支持双向能量传输的变换器。根据输入输出电压要求确定合适的变换器拓扑。实现有效的控制策略来维持输出电压稳定。

xiaoheshang_123的博客 367

多表查询-----内连接、外连接、自连接、联合查询

select 字段列表 from A表名,B表名 where 条件;

m0_69322526的博客 1534

台区同期线损智能诊断与闭环治理体系及工程化实践

高损台区:同期线损率>预设阈值(通常为8%,可根据区域、台区类型调整);负损台区:同期线损率<0,即供电量小于售电量,多由档案、计量、拓扑错误导致;波动损台区:月度线损率波动幅度>预设阈值(通常为5%),且无合理原因;持续异常台区:连续2个及以上周期线损率不达标,且未完成有效整改。台区同期线损智能诊断与闭环治理体系,以电力大数据为基础、智能诊断模型为核心、标准化流程为保障,彻底解决了传统线损治理“异常发现慢、定位难、整改乱、无闭环”的痛点,实现了线损治理从“人工经验驱动”向“数据智能驱动”的根本性转型。

getusushu的博客 204

大疆前端开发面试题及参考答案(4万字长文)

在前端项目中,难点和性能优化的挑战无处不在。比如在处理复杂交互界面时,实现流畅的动画效果和实时反馈就是一大难点。当界面中有大量元素需要同时进行交互和动态更新,像电商平台的商品筛选和排序功能,不仅要保证操作的即时响应,还要确保界面在各种设备和网络环境下的稳定性,这就需要对事件处理、DOM 操作和数据更新机制有深入理解。在性能优化方面,首屏加载速度是常见的难点。当页面包含大量图片、脚本和样式文件时,如何合理地进行资源压缩、合并与缓存,以减少加载时间,是需要精心考虑的。

大模型大数据攻城狮的专栏 1155

MySQL、多表查询,left、right、内联查

左连接:查询左表所有数据,以及两张表交集部分的数据,右连接:查询右表所有数据,以及两张表交集部分的数据,自连接:当前表与自身的连接查询,自连接必须使用表表名

m0_53191230的博客 1525

Nature Communications|马兰戈尼效应构建空心金字塔微阵列制备高灵敏度柔性电容式压力传感器(健康监测/柔性压力传感/柔性电子/人机交互)

三维(3D)微结构因其在柔软性、轻质化、对3D表面的贴合性和可压缩性方面的显著优势,已经在生物医学监测、人机接口、机器人触觉和微型飞行器等领域引起了广泛关注。柔性电容式压力传感器(CPSs),由两片平行板组成,中间夹着一层软介电薄膜,具有设备构造简单、高灵敏度和快速响应速度等众多吸引人的优点。结构化介电层的三维机械设计在决定传感器性能方面起着至关重要的作用,如灵敏度(这是压力传感器的关键特性,因为它决定了感知微小压力和获取更多细节的能力,如轻柔触摸和脉搏检测)。

感知科学前沿 526

SQL联合查询

MySQL系列: 1.内连接 2.外连接 3.自连接 4.子查询 5.合并查询 6.插入查询

2401_85487314的博客 1045

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数据库基础——联合查询

联合查询(表连接)用于从多个表中获取完整数据。MySQL通过笛卡尔积计算生成临时结果集,再通过连接条件过滤无效数据。主要类型包括内连接(返回匹配记录)、外连接(左/右连接返回一侧所有记录)和自连接(行转列比较)。此外还有子查询(嵌套查询)、合并查询(UNION去重)等操作。联合查询弥补了数据库范式设计导致的数据分散问题,是获取完整信息的必要手段。

Y409001的博客 995

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

MySQL进阶 — 联合查询(外连接、内连接、子连接、合并查询)

MySQL进阶内连接外连接子连接合并查询 内连接 外连接 子连接 合并查询

unstoppable_t的博客 1061

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MySQL:数据库的查询与连接

本文介绍了基础的SQL的查询和连接的知识,快来看看吧~

m0_62319039的博客 1524

联合查询(详细篇)

实际开发中往往数据来自不同的表 所以需要多表联合查询 多表查询是对多张表的数据取笛卡尔积简单来说 笛卡尔积是两个表的乘积 结果集中的每一行都是第一个表的每一行与第二个表的每一行的组合简单理解:假设有两个表A和B 表A有m行 表B有n行 当对这两个表进行笛卡尔积操作时 生成的结果集将包含m*n个记录 这是因为结果集中的每一行都是表A中的一行与表B中的一行的组合示例:假设有两个表,一个是学生信息表(student),另一个是班级信息表(class)学生信息表(student):班级信息表(class):对这两个

L2770789195的博客 2006

MySQL查询全解

1 聚合查询 COUNT SUM AVG MAX MIN 1.2 GROUP BY子句 1.3 HAVING 2 联合查询 3内连接 4外连接 5 自连接 6子查询(不推荐) 7合并查询 union union all

2301_80062351的博客 845

MySQL数据库(七)

MySQL数据库中多表查询的方式

x2656271356的博客 127

mysql语句的复杂使用

自连接可用来解决一些特殊的问题, 如比较行与行之间的数值的大小, sql语句只能比较同行不同列的数据,想要比较同列不同行的数据,只能将不同行的数据转换成同一行, 即将行与列进行转换, 此时可用自连接,自连接相当于一个奇淫巧计。所谓聚合查询就是进行行与行之间的运算,之前的带有表达式的查询进行的是列于列之间的运算。与之前写法不同之处在于之前的写法只能实现内连接,而这种写法还能实现外连接。多表查询会产生很多的无效组合, 用来筛选有效数据的条件叫连接条件。查询成绩总分和个人信息(聚合查询和多表查询结合使用)

qq_62414152的博客 442

MySQL聚合查询&分组查询&联合查询

对应代码练习– 创建考试成绩表id bigint,– 插入测试数据(1,‘唐三藏’, 67, 98, 56),(2,‘孙悟空’, 87.5, 78, 77),(3,‘猪悟能’, 88, 98, 90),(4,‘曹孟德’, 82, 84, 67),(5,‘刘玄德’, 55.5, 85, 45),(6,‘孙权’, 70, 73, 78.5),(7,‘宋公明’, 75, 65, 30);

m0_74825488的博客 982

MySQL数据库-查询

三大范式: 创建课程表 创建学生课程中间表,考试成绩表 初始化测试数据: 语法语法语法语法

weixin_71841320的博客 358

【数据库】联合查询

本文介绍了MySQL中的联合查询(多表查询)操作,主要包括以下几个部分: 联合查询基础:通过笛卡尔积实现多表查询,会产生大量数据,其中包含有效和无效数据。 内连接:使用JOIN ON或WHERE实现内连接,可以筛选有效数据。 外连接:包括左外连接(保留左表所有数据)和右外连接(保留右表所有数据)。 自连接:表与自身连接,但需使用别名避免冲突。 子查询:单行子查询和多行子查询(使用IN),以及在FROM中使用子查询。 合并查询:使用UNION合并结果并去重,或UNION ALL保留重复数据。 联合查询虽功能强

哦虎!的博客 309

【MySQL】增删改查-进阶(二)

数据库约束表的关系一对一:一对多:多对多:需要创建中间表来映射两张表的关系新增查询聚合函数:MAX、MIN、AVG、COUNT、SUMselect ... from 表1,表2 where 条件-- inner可以缺省select ... from 表1 join 表2 on 条件 where 其他条件分组查询:GROUP BY… HAVING …select ... from 表1 left/right join 表2 on 条件 where 其他条件内连接。

2301_81510374的博客 1476

MySQL数据库基础

目标:1. 数据库约束2. 聚合查询3. 联合查询。

llt2997632602的博客 311
上一篇: 数据库-数据库的设计
下一篇: 数据库-索引
刘 大 望
博客等级 码龄2年 896粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值