mysql求表中年龄同张三,mysql子查询与连接查询

表结构以及数据:

CREATE TABLE`student` (

`id`int(11) NOT NULLAUTO_INCREMENT,

`name`varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`age`int(11) NULL DEFAULT NULL,PRIMARY KEY(`id`) USING BTREE

) ENGINE= InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

INSERT INTO `student` VALUES (1, 'zazr', 11);INSERT INTO `student` VALUES (2, 'jkg', 20);INSERT INTO `student` VALUES (4, 'zazr', 11);INSERT INTO `student` VALUES (5, 'jkg', 12);INSERT INTO `student` VALUES (6, 'lgh', 13);INSERT INTO `student` VALUES (7, 'zazr', 11);INSERT INTO `student` VALUES (8, 'jkg', 12);INSERT INTO `student` VALUES (9, 'lgh', 13);INSERT INTO `student` VALUES (10, 'zazr', 11);INSERT INTO `student` VALUES (11, 'jkg', 12);INSERT INTO `student` VALUES (12, 'lgh', 13);

查询表中所有数据:

SELECT * FROM student;

90a49bdf36ee7e79db85f12d03d8d492.png

查询表中年龄的平均值:

SELECT ROUND(AVG(age),0) from student;

ROUND、AVG都是聚合函数,ROUND(小数,2)表示这个小数四舍五入保留2位小数;AVG求平均值

8d538ee996ac72b85ea3e6ab7da0bcf1.png

查询表中年龄大于等于平均值的学生姓名(子查询):

SELECT name FROM student WHERE age>=(SELECT ROUND(AVG(age),0) FROM student);

a6321fe8b3423bafc910f119b7f72f8c.png

将表中的不同姓名插入到另一张NAME表中:

创建表:

CREATE TABLE NAME(

-> id int(11) NOT NULL AUTO_INCREMENT KEY,

-> name VARCHAR(20));

SQL语句:

INSERT name(name) SELECT name FROM student GROUP BY name;

b852a7cd6b253429e13b1eac67b8d3a3.png

将student表中的name值,替换成name表所对应的id(内连接):如果student的name等于name表中的name,则将student表中的name换成对应的id

UPDATE student INNER JOIN name ON name.name=student.name SET student.name=name.id;

8a0db4be1e585ea0f895d803a823d879.png

此时可以看:id为1对应的是name表中id为3的名字:zazr

向student中添加两条记录:

INSERT student VALUES(NULL,"10",24);

INSERT student VALUES(NULL,"8",30);

dc4bcacf662b1aaf06e6193da6ea2e47.png

向name中添加两条记录:

INSERT name VALUES(NULL,"张三");

INSERT name VALUES(NULL,"李四");

5f4312d4cfc71829e60a98f4284788a5.png

内连接:

28b2c4e027a65f47b5a35baf3024dadb.png

查询student和name表满足相同条件的记录:student表中新加入的10和8,与name表中的id为4,5的没有对应关系,所以不会显示,条件就是student.name=name.id;

SELECT student.id,name.name FROM student INNER JOIN name ON student.name=name.id;

b72e1859f066128f4e9a71dc05b676a1.png

左外连接:显示左表中的全部以及与右表符合条件的记录

ef96fbca414598bbc63ce2764fb51946.png

将查询改为左外连接查询:显示student全部id数据,不过对应的name为NULL;

SELECT student.id,name.name FROM student LEFT JOIN name ON student.name=name.id;

fd69bf7bacf433daf6b47b6f17af3609.png

右外连接:

700b13d0082715b1ecb9a98196a72b2b.png

将查询改为右外连接查询:显示name全部name属性数据,不过对应的student的id为NULL;

SELECT student.id,name.name FROM student RIGHT JOIN name ON student.name=name.id;

60e0e610b324790d04ca7278424727da.png

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

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

相关文章

jenkins war包_Jenkins的安装和部署(jenkins教程)

一、jenkins的下载、安装以及环境的搭建部署。1.什么是jenkins以及它的作用:Jenkins 是一个可扩展的持续集成(CI)平台。它只是一个平台,真正运作的都是插件。Jenkins的主要作用:持续的监控软件版本发布/测试项目。监控…

内存恶鬼drawRect

转载于:http://bihongbo.com/内存恶鬼drawRect 标题有点吓人,但是对于drawRect的评价倒是一点都不过分。在平日的开发中,随意覆盖drawRect方法,稍有不慎就会让你的程序内存暴增。下面我们来看一个例子。 去年的某天午后,北京的雾霾…

c#和python同一主机直接udp_为什么Python 如此之慢

原文:https://hackernoon.com/why-is-python-so-slow-e5074b6fe55b​hackernoon.comPython 正在爆炸般流行起来,它被用于DevOps, 数据处理,web开发和安全领域。但是在速度方面却没有取得过什么胜利。 Java在速度方面和C/C/C#/Python比起来如何&#xff…

lldb 调试php,linux系统下如何在vscode中调试C++代码

本篇博客以一个简单的hello world程序,介绍在vscode中调试C代码的配置过程。1. 安装编译器vscode是一个轻量的代码编辑器,并不具备代码编译功能,代码编译需要交给编译器完成。linux下最常用的编译器是gcc,通过如下命令安装&#x…

php负责传递数据,php传递数据的方法有哪些

php传递数据的方法有哪些发布时间:2021-03-19 09:10:54来源:亿速云阅读:58作者:小新这篇文章将为大家详细讲解有关php传递数据的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅…

除了工作怎么交朋友_夫妻感情不好怎么办?夫妻关系紧张该如何解决?

夫妻感情不好怎么办?夫妻关系紧张该如何解决?1. 象征两人的兴趣随着年龄的增长而多样化。年轻的时候往往因为他们之间的差异而互相吸引,但当他们在中老年则需要更多的安慰或关心,理解,需求就不同了。当你发现自己的志向迥然不同时…

java websocket修改为同步_服务端向客户端推送消息技术之websocket的介绍

websocket的介绍在讲解WebSocket前,我们先来看看下面这种场景,在HTTP协议下,怎么实现。需求:在网站中,要实现简单的聊天,这种情况怎么实现呢?如下图:​当发送私信的时候,…

python random randint_python中random.randint和random.randrange的区别详解

在python中,通过导入random库,就能使用randint 和 randrange 这两个方法来产生随机整数。那这两个方法的区别在于什么地方呢?让我们一起来看看! 区别: randint 产生的随机数区间是包含左右极限的,也就是说左右都是闭区…

How to change max_allowed_packet size

2019独角兽企业重金招聘Python工程师标准>>> How to change max_allowed_packet size up vote 116 down vote favorite 40I am having a problem with BLOB fields in my MySQL database - when uploading files larger than approx 1M…

.net runtime占用cpu_.net 中的StringBuilder和TextWriter区别

最近闲来之余,看了一些开源的类库,看到有些类库喜欢用TextWriter类来记录相关的字符串数据,感到比较好奇,为啥不用StringBuilder类对象。于是在网上搜索了一番,总结了相关笔记。StringBuilder类在 .net 中,字符串作为一…

微信页面弹出窗口,底部不随窗口滑动而滚动

公司是做微信第三方公众平台,有一个购物系统,现在需要将商品页面模仿淘宝的样式,就是点击购物车或购买按钮,会弹出一个窗口,显示sku和数量。本来就是一个做java后台的,前端布局不是很懂,上网搜索…

【GIT】使用Git命令窗口将本地工程提交至远程GitHub

目标: 1.解决的问题是如何通过Git命令窗口将本地工程提交至GitHub。 2.方便园友的同时也方便自己以后解决此类问题。 步骤: 1.首先登陆GitHub网站https://github.com/ 2.新建Repository 3.新建TicketBrushSystem的Repository,其中红框的几处可…

softmax ce loss_手写softmax和cross entropy

import 解释下给定的数据,x假设是fc layer的输出,可以看到这里x是(3,3)的,也就是batch_size3,n_classes3。但是label给出了三个数,取值是0,1,因此这里必须要将label先变成one_hot的形式才能在cr…

kafka php 0.8,php5.6 centos7 kafka0.8.1

# 首先在保证php已经正确安装的情况下:# 安装jdk(本人安装jdk7) 和 scala 因为kafka基于scala开发# 之后解压安装包 进入 运行命令 ./gradlew jar # 会下载一些包 # 首先运行 zookeeper ./bin/zookeeper-server-start.sh ./config/zookeeper.properties# 之后运行k…

day02(下)_运算符

首先了解java运算符的优先级和结合性: 常用转义字符表: 示例1 取余/字符串/转义字符: class operator1 {public static void main(String[] args){//取余System.out.println(-1%5);//-1System.out.println(1%-5);//1与左边的操作数同号System.out.println(3.1%2.5);//字符串:字…

activity 生命周期_如何理解安卓activity的生命周期(on-create篇)?

个人认为用类比的方式来学习新事物比较容易接受。我这里用蝴蝶的一生来做比喻。OnCreate阶段就像是蝴蝶的幼虫刚出卵里孵化出来,蝴蝶的一生只可能出生一次,oncreate只能被创建一次。蝴蝶刚出生的时候还不是蝴蝶,而是一只毛毛虫一样的东西&…

【十大经典数据挖掘算法】k-means

【十大经典数据挖掘算法】系列 C4.5K-MeansSVMAprioriEMPageRankAdaBoostkNNNave BayesCART1. 引言 k-means与kNN虽然都是以k打头,但却是两类算法——kNN为监督学习中的分类算法,而k-means则是非监督学习中的聚类算法;二者相同之处&#xff1…

ajax获取数据用弹窗显示_Vue之 点击返回弹出推荐商品弹窗

阅读本文约需要5分钟大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了VUE 之 v-on指令的知识,今天跟大家分享下Vue之 点击返回弹出推荐商品弹窗的知识。…

Navicat 编辑器自动完成代码功能讲解

2019独角兽企业重金招聘Python工程师标准>>> Navicat 提供广泛的编辑器高级功能,例如:编辑代码功能、智能自动完成代码、设置 SQL 格式及更多。本教程将介绍关于自动完成代码的操作。 Navicat下载地址:http://www.formysql.com/xi…

com 组件调用不起来_AwesomeGithub组件化探索之旅

阅读前请点击右上角“关注”,每天免费获取Android知识解析及面试解答。Android架构解析,只做职场干货,完全免费分享!之前一直听说过组件化开发,而且面试也有这方面的提问,但都未曾有涉及具体的项目。所以就…