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;
查询表中年龄的平均值:
SELECT ROUND(AVG(age),0) from student;
ROUND、AVG都是聚合函数,ROUND(小数,2)表示这个小数四舍五入保留2位小数;AVG求平均值
查询表中年龄大于等于平均值的学生姓名(子查询):
SELECT name FROM student WHERE age>=(SELECT ROUND(AVG(age),0) FROM student);
将表中的不同姓名插入到另一张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;
将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;
此时可以看:id为1对应的是name表中id为3的名字:zazr
向student中添加两条记录:
INSERT student VALUES(NULL,"10",24);
INSERT student VALUES(NULL,"8",30);
向name中添加两条记录:
INSERT name VALUES(NULL,"张三");
INSERT name VALUES(NULL,"李四");
内连接:
查询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;
左外连接:显示左表中的全部以及与右表符合条件的记录
将查询改为左外连接查询:显示student全部id数据,不过对应的name为NULL;
SELECT student.id,name.name FROM student LEFT JOIN name ON student.name=name.id;
右外连接:
将查询改为右外连接查询:显示name全部name属性数据,不过对应的student的id为NULL;
SELECT student.id,name.name FROM student RIGHT JOIN name ON student.name=name.id;
mysql求表中年龄同张三,mysql子查询与连接查询相关推荐
- 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...
mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- ...
- mysql杠杆加号什么意思_对tb_book表中的数据,按ID序号进行升序排列,查询语句是什么?_学小易找答案...
[单选题]修改数据库表结构用以下哪一项 ( ) [单选题]对于一个微小物理量,通常采用将其进行放大的方法实现测量,以下哪个不是物理实验方法? [单选题]扭摆实验中,为了测出金属匀质细杆绕质心对称轴的转 ...
- MySQL将表中的yes改成no_mysql在不需要改程序的情况下通过操作数据库对单表数据量大的表进行分表...
1.为什么要分表? 数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询速度变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈. mysql中有一种机制是表锁定和行锁定, ...
- 如何更新mysql数据库字段_如何使用MySQL一个表中的字段更新另一个表中字段
1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 update ...
- mysql数据表中取几列_MySQL实现表中取出随机数据
MySQL是开放源代码,MySQL因为其速度.可靠性和适应性而备受关注.大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择. 那么如何在MySQL实现表中取出随机数据呢? SEL ...
- python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...
本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...
- cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中
本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...
- mysql高效查出重复的手机号_Mysql必读MySQL大表中重复字段的高效率查询方法
<MysqL必读MysqL大表中重复字段的高效率查询方法>要点: 本文介绍了MysqL必读MysqL大表中重复字段的高效率查询方法,希望对您有用.如果有疑问,可以联系我们.MysqL大表重 ...
- MySQL 清空表中数据
MySQL清空表中的数据(不算DROP语句) 1. truncate 语句 truncate table table_name 不能与where一起使用 truncate删除数据后是不可以rollba ...
最新文章
- cimiss数据_CIMISS,你太优秀了!
- ASP.NET中App_Code,App_Data等文件夹的作用
- 翻译软件(用百度的API实现)Python
- 原理图、PCB和实物是如何对应起来的
- 2016年第七届蓝桥杯C/C++ C组国赛 —— 第二题:反幻方
- 最大子序列和问题的解(共4种,层层推进)
- devops 开发_开发五年,DevOps手册问世
- 【转载】美国煤层气发展史
- SWIFT显示底部的工具条
- JanusGraph学习-安装和使用
- 计算机ps基础知识教案范文,ps基础教案
- Scrapy学习笔记(3)爬取知乎首页问题及答案
- 为何奢侈品的受众越来越多
- 面包板入门电子制作 学习笔记7
- 在eclipes 中配置python
- css图片滑动切换图_CSS帧动画
- 网络——码元、速率、波特、带宽
- 动规(11)-踩方格
- 7.4 FIN及其ACK的接收
- 【Android】实战图像识别:Compose + MLKit + CameraX