mysql left join和inner join

MySQL 什么时候使用INNER JOIN 或 LEFT JOIN 在本科时期,其实这个问题困扰了我很久,最早都是用如下语句,也就是笛卡尔积的形式。 select ** from A,B where A.name=B.name 再熟悉了各种联表以后其实这就是cross join,是最慢的一种联表方式,会返回A表字段的数据*B表字段的数据(如果A表有10条数据,B表有20条数据,那么最后返回结果就是200条)。 其实可以根据真实的需求用更好的联表操作,如left join 或inner join。 红烧排骨饭博客中给出的例子很容易理解 商品表 CREATE TABLE pr 阅读详情

好记性不如烂笔头

查询公式如下:

select *  FROM table1 INNER|LEFT|RIGHT JOIN table2 ON [关联条件]

INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。

LEFT JOIN(左连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。

RIGHT JOIN(右连接):与 LEFT JOIN 相反,取得右表(table2)完全记录,即是左表(table1)并无匹配对应记录。

注意:mysql不支持Full join,不过可以通过UNION 关键字来合并 LEFT JOIN 与 RIGHT JOIN来模拟FULL join

实例讲解MySQL的join、inner join、out join、left join、right join的区别 一、初始化 构造数据: 班级表t_class:3行数据,c1、c2、c4,其中c4是t_student中未包含的。 学生表t_student:6行数据,t1~t6,其中t6是t_class中未包含的。 CREATE TABLE `t_class` ( `cname` char(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '班级名', `teacher` char(200) CHARACTER SET utf8 DEFAULT NULL COMMEN 阅读详情

相关推荐

【MySQL】提高篇—复杂查询:多表连接(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN)

INNER JOIN:只返回两个表中匹配的记录。LEFT JOIN:返回左表的所有记录及右表中匹配的记录。RIGHT JOIN:返回右表的所有记录及左表中匹配的记录。FULL JOIN:返回两个表中的所有记录(通过 UNION 实现)。这些连接操作在实际应用中非常重要,能够帮助我们从多个表中提取和组合数据,以满足复杂的查询需求。

thinking_chou的专栏 2103

inner join和left join的使用以及执行顺序

好久没有写关于程序媛的技术文章了,昨天室友问了一些数据库相关的问题,那我们就来谈谈数据库吧。那问的是什么问题呢?我们来举个例子:现有以下数据库表:1.学生表Student,表中包含字段StudentId(学生号),Mobile(手机号);2.学生资料存放表Information,表中包含字段StudentId(学生号),InfoRelationId(信息关联Id)3.学生兴趣爱好表Ho...

janny_flower的博客 1万+

mysql left join转inner join

在日常优化过程中,发现一个怪事情,同一个SQL出现两个完全不一样执行计划,left join 连驱动表都可以变成不一样。 对于left join,如果where条件里有被关联表过滤,left join有可能被转成inner join ,本案例中shopInfo有ShopCategory = 'LOC'过滤条件; 保证shopInfo的记录非NULL,因此left join在优化过程中可以转为...

福禄网络研发团队的博客 836

MySQL LEFT JOIN INNER JOIN实例

SELECT KEY_ID_TAG,accuml_map_to_fes.DESCRIPTION,accuml_map_to_fes.RTU_TAG,accuml_map_to_fes.DOT_NO, fes_accuml.TAG_NAME, fes_accuml.DESCRIPTION,fes_dev_info.TAG_NAME,fes_dev_info.DEV_DESC FROM accum...

折花刀的博客 429

mysql,left join.right join,inner join实例

如下: CREATE TABLE `article` ( `aid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '文章id', `title` varchar(20) NOT NULL COMMENT '标题', `content` varchar(20) NOT NULL COMMENT '内容', `uid`bigint(20) ...

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 784

MySQL根据idb文件恢复数据

恢复前提 MySQL 5.* 和 8.* 的恢复方式大同小异,最基本的区别是8.* 中,不再有表结构frm文件,所以要恢复 8.* 的数据,就必须要有完整的建表语句。 而恢复 5.* 的数据,就需要idb文件和 frm文件,当然,如果有完整的建表语句的话,不用frm文件也行。 恢复步骤 需要注意的是,以下操作需要选定数据库后执行。 5.* 恢复表结构 确定表列数 首先创建一张 与需要恢复数据的表 的名字相同的新表,如果已知原表的字段数量的话,就按照原表字段数建表,字段名和类型都不用考虑,如果不知道数量的话,

weixin_45121446的博客 5447

inner join 、left join、right join,优先使用inner join

三种连接如果结果相同,优先使用inner join,如果使用left join左边表尽量小。使用了左连接,左边表数据结果尽量小,条件尽量放到左边处理,意味着返回的行数可能比较少;这是mysql优化原则,就是小表驱动大表,小的数据集驱动大的数据集,从而让性能更优;如果inner join是等值连接,返回的行数比较少,所以性能相对会好一点;right join会返回右表所有的行,即使在左表中没有匹配的记录;left join会返回左表所有的行,即使在右表中没有匹配的记录;

weixin_63173847的博客 1665

centos7下100T存储扩容(LVM)至150T

查看新增磁盘情况lsblk,fdisk -l [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom vda 252:0 0 80G 0 disk ├─vda1 252:1 0 1G 0 part /boot └─vda2 252:2

tiyager的博客 1025

SQL中left join和inner join配合使用

left join on 是左外联接,数据以左边的表为基准,右边的表数据哪怕为null也会查询出来, 而inner join on则是左右两边的表的数据必须相互对应,如果有null则会去掉该条数据,如果 右边或者左边表的数据都为null,则查询出来是没有结果集的。两个联接配合起来使用效果极好。 因为有些需求需要我们配合这两个联接查询。

Ginkgo_Leaf 1万+

保姆级教程:用GATK4分析重测序数据,从fq.gz到vcf文件一步不落

本文提供了一份详细的GATK4重测序数据分析教程,涵盖从原始fq.gz文件到最终vcf文件的完整上游分析流程。通过Miniconda环境配置、数据质控、序列比对、变异检测等步骤的逐步指导,帮助生物信息学研究人员掌握标准流程,特别适合Linux命令行基础薄弱的研究者学习实践。

weixin_28366053的博客 473

保姆级教程:用Ansys Workbench找出BGA焊点最容易坏的位置(附热循环+振动分析)

本文提供了一份详细的Ansys Workbench教程,指导如何通过热循环和振动分析找出BGA焊点最容易失效的位置。从模型搭建、材料定义到网格划分和载荷设置,全面解析了BGA焊点可靠性分析的全流程,帮助工程师提前预防焊点开裂问题,提升电子封装设计的可靠性。

weixin_30983965的博客 418

mysql的left join和inner join的详细用法

join用法 1.inner join,内连接,显示两个表中有联系的所有数据; 2.left join,左链接,以左表为参照,显示所有数据,右表中没有则以null显示 3.right join,右链接,以右表为参照显示数据,,左表中没有则以null显示 例子 如图两个表 右连接 SELECT * FROM ketest as b RIGHT JOIN keketest as c on b.id = c.id; 左连接 SELECT * FROM ketest as b LEFT JOIN keket

实用ai技巧 3万+

C#调用Halcon程序三种方法

C#调用Halcon程序三种方法 1.halcon导出C#文件,在C#里面调用 2.在C#里面使用Halcon引擎调用Halcon程序 3.在C#里面使用Halcon引擎调用.hdev下本地函数或者.hdvp外部函数 Halcon引擎手册:C:/Program Files/MVTec/HALCON-21.11-Progress/doc_en_US/html/manuals/programmers_guide/programmers_guide_0120.html 1.导出C#(代码我只给出类,需要调用)

A541925504的博客 1万+

MySQL JOIN详解:INNER JOIN与LEFT JOIN的选择与应用

JOIN操作用于将两个或多个表中的数据基于相关字段进行组合。通过JOIN,我们可以实现:关联查询分散在不同表中的数据减少数据冗余建立复杂的数据关系模型优先考虑INNER JOIN:除非明确需要保留不匹配的行LEFT JOIN用于保留性查询:如报表、统计分析始终验证JOIN条件:确保关联字段正确且高效注意NULL处理:特别是LEFT JOIN后的WHERE条件性能监控:EXPLAIN是你的好朋友保持一致性:团队应建立统一的JOIN使用规范正确使用JOIN操作可以大幅提高SQL查询的效率和准确性。

星途码客的博客 6025

SAP PCE私有云MM02修改物料主数据基本单位报错

当前发现只有改为AAAADL(无量纲)单位时会报错,其他的正常。一开始以为配置的ISO码换算有问题,对配置排查后,排除配置问题。最后发现是PCE当前版本的原因,需要打上NOTE。SAP PCE私有云在没有库存和业务单据的情况下,MM02修改物料主数据基本单位报错“EA CPZP MK000000000000:PCS 不可转换为”,详见截图。点击【显示错误】,提示EA CPZP MK000000000000:PCS 不可转换为。从SAP FOR ME下载NOTE 3531359,链接。

dingqing86的专栏 519

鸿蒙应用发布实战:应用热更新的实现

在移动应用开发领域,应用更新是持续交付价值的关键环节。传统的应用更新方式需要用户手动下载完整安装包,不仅用户体验差,而且更新率往往不理想。热更新技术(也称为OTA更新)允许应用在不重新安装的情况下动态更新部分功能,极大提升了用户体验和迭代效率。本文专注于鸿蒙操作系统下的应用热更新实现方案,涵盖从原理到实践的完整知识体系。鸿蒙热更新的技术架构差分更新算法实现动态部署机制实际项目中的最佳实践安全与性能优化策略首先介绍鸿蒙热更新的背景和核心概念深入分析技术原理和算法实现。

操作系统内核探秘的博客 965

mysql的left join和inner join的效率对比,以及如何优化

一、前言 最近在写代码的时候,遇到了需要多表连接的一个问题,初始sql类似于: select * from a left join b on a.x = b.x left join c on c.y = b.y left join d on d.z=c.z       这样的多个left join组合,一方面是心里有点不舒服,总觉得这种...

铁柱的博客 6万+

YOLOv11改进 | Conv篇 | 2024最新轻量化自适应提取模块LAE助力边缘设备部署计算(附代码 + 修改教程 + 运行教程)

本文给大家带来的一个改进机制是最新由LSM-YOLO提出的轻量化自适应特征提取(Lightweight Adaptive Extraction, LAE)模块,其是LSM-YOLO模型中的关键模块,旨在进行多尺度特征提取,同时降低计算成本。LAE通过以下方式实现更有效的特征提取:多尺度特征提取、自适应特征提取。LAE模块可以在不增加额外参数的情况下提高了模型对ROI区域的检测性能。​欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍。

Snu77的博客 4055

Mysql中的join、cross join、inner join是等效的,某些场景下left join被转成inner join可以有更好的性能提升

今天在Mysql官网(参考博客1)看到一段话: At the parser stage, queries with right outer join operations are converted to equivalent queries containing only left join operations. In the general case, the conversion is ...

Saintyyu的博客 4117

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Mysql left join,right join,inner join的效率比较

一.Join语法概述join 用于多表中字段之间的联系,语法如下:... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditionatable1:左表;table2:右表。JOIN 按照功能大致分为如下三类:INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。LEFT JOIN(左连接):取得左表(table1)完全记录...

隐居者 1万+

SAP B1中文培訓教材_SDK

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

mysql inner和left优化_浅谈mysql中的left join和inner join性能及优化策略

前言看一下 下面的sql语句:select*fromaleftjoinbona.x=b.xleftjoinconc.y=b.y这样的多个left join组合的时候,总是感觉心里有点不舒服,而且总觉得这种写法是有问题的,一方面有点好奇,直接用inner join会怎样呢?差别在哪里?后续使用inner join发现速度要比left join快一些,所以这边就研究一...

weixin_34708601的博客 1945

深度学习工具包 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中left join,right join,inner join,outer join 用法详解

非常惭愧用了这么久的mysql居然没有用过outer join和inner join,对outer join的认识也仅是知道它是外连结,至于什么用途都不清楚,至于还有没有left outer join更是不得而知,某天有人问起,才想起自己mysql知识的贫乏,赶紧找了一下网上的left join,right join,inner join,outer join的用法来学习一下。

onlyquan3的博客 8067

MySQL JOIN (inner 和 left 的区别)

MySQL JOIN 的分类 inner join(内连接):取得两个表中存在连接匹配关系的记录 left join (左连接):以左表为基准(取左表所有记录),右表匹配向左表 right join(右连接):与left join 相反

u013402772的专栏 8506

数据库面试必备:MySQL中INNER JOIN、LEFT JOIN和RIGHT JOIN的区别详解

在MySQL数据库操作中,JOIN操作是最常用且最重要的功能之一,它允许我们从多个表中获取相关联的数据。本文将详细解释INNER JOIN、LEFT JOIN和RIGHT JOIN这三种主要JOIN类型的区别,并通过实例和图表演示它们的工作原理。

qq_58299462的博客 1472

从EXPLAIN看MySQL JOIN优化:为什么你的LEFT JOIN比INNER JOIN还慢?

本文深入探讨MySQL中LEFT JOIN比INNER JOIN慢的原因,重点分析驱动表选择机制及JOIN算法差异。通过EXPLAIN执行计划解析,揭示索引、WHERE条件和统计信息如何影响优化器决策,并提供实用的索引优化、参数调优和查询重写策略,帮助开发者解决实际性能问题。

868

mysql中left join,right join,inner join,outer join的用法详解【转】

非常惭愧用了这么久的mysql居然没有用过outer join和inner join,对outer join的认识也仅是知道它是外连结,至于什么用途都不清楚,至于还有没有left outer join更是不得而知,某天有人问起,才想起自己mysql知识的贫乏,赶紧找了一下网上的left join,right join,inner join,outer join的用法来学习一下下面的内容转载自网络,

lelexy的专栏 2万+
上一篇: mysql 查询优化,怎么写出高效率的sql语句
下一篇: Linux 常用的命令
圈圈的博客
博客等级 码龄9年 4粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

圈圈的博客

您的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值