1.两结构相同的表数据间移植

Inset into 表一

Select 字段1,字段2,....字段n from表二

建立数据库时设置数据库编码

create database 数据库名 charset uft8

模糊查询时

%(任意字符任意个数)

_(单个字符)

2.聚合函数使用时必须有group by给定分组条件

比如有一个表

求平均成绩是用聚合函数avg()时必须制定此函数作用的范围依据

3.分组,排序,再次筛选,取几条执行顺序

Where>group by >having>order by >limit

门及2门以上同学的平均分和不及格科目数

方法一:分步查询

先查出2门及2门以上不及格学生是谁

然后再查这些同学的平均分,需要2个select语句

select name from stu where score<60  group by name having count(name)>=2

便得到表

name

张三

李四

注意sql的执行顺序

先执行select name from stu where score<60 

会得到表2:

name

张三

张三

李四

李四

王五

之后再分组和再筛选

但要注意虽然group by在having前,但group by是作为having的筛选分组条件的

然后在表2中having筛选即得

第二步:

找到这些学生后,在把学生名最为查询条件再次筛选,因为第一步筛选掉了及格的了的成绩,结果破坏了数据的原始性,所以还得进行一次筛选

 select name,avg(score) from stu where name in (select name from stu where

 score<60  group by name having count(name)>=2) group by name;

方法二:利用select后可以直接是判断式及本题特点

分析:首先运行sql查询

select name ,score<60 from stu;

得到下表3:

name

Score<60

张三

0

张三

1

张三

1

李四

1

李四

1

王五

1

在select后的字段或条件mysql会依次与表中的数据对比,如score<60会拿60逐一与表中的score值比较

比如字段name没有要比较的值就显示它在表中的值

从表三发现:sum(score<60)的值就是不及格科目数

于是

 select name ,avg(score),sum(score<60) as gk from stu group by name having

 gk>=2;

聚合函数的执行时同时进行

得到结果表:

显然方法二比一更简洁高效

未完待续....!

Mysql查询(笔记二)的更多相关文章

  1. MySQL学习笔记(二)—查询

    一.多表连接查询 新建两张表t_user.t_order.              1.内连接      返回满足条件的所有记录. (1)显式内连接      使用inner join关键字,在on ...

  2. MySQL学习笔记(二):MySQL数据类型汇总及选择参考

    本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型.  ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定 ...

  3. MySQL学习笔记(二)

    连接与断开服务器 应该以下面的方式连接MySQL服务器,而不是将密码以明文方式输入连接. C:\> mysql -h host -u user -pEnter password: ******* ...

  4. MySQL数据库笔记二:数据类型及数据库操作

    三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...

  5. sql分类及基本sql操作,校对规则(mysql学习笔记二)

    sql针对操作对象分为不同语言 数据操作(管理)语言 DML或者将其细分为 ( 查询  DQL 管理(增,删,改)  DML) 数据定义语言(对保存数据的格式进行定义) DDL 数据库控制语言(针对数 ...

  6. MySQL学习笔记二

    Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...

  7. mysql学习笔记二 —— 权限体系

    要点: 1.MySQL的API2.MySQL的相关文件3.MySQL的权限体系 1.MySQL的API 应用程序接口 (application program interface) 1.1 命令行中的 ...

  8. MySQL 学习笔记 二

    Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...

  9. MySQL学习笔记二:权限管理

    1. 创建和删除用户,mysql中的用户是由用户名和主机名来确定的 create user "user_name@host_name" identified by passwd; ...

随机推荐

  1. C语言实现词频统计——第二版

    原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命 ...

  2. HDU 3068 [最长回文子串]

    #include<iostream> #include<string> #include<string.h> #include<algorithm> # ...

  3. PHP截取IE浏览器并缩小原图的方法

    这篇文章主要介绍了PHP截取IE浏览器并缩小原图的方法,涉及PHP调用com组件实现图像截取的相关技巧,需要的朋友可以参考下 本文实例讲述了PHP截取IE浏览器并缩小原图的方法.分享给大家供大家参考, ...

  4. Activity代码结构

    把一个Nova项目中典型的Activity代码结构简单归纳一下,保持代码风格的一致,有助于日常开发效率提升以及日后维护 Class Name     变量 constants   requests   ...

  5. 一点点seo

    Search Engine Optimization(搜索引擎优化 ),是较为流行的网络营销方式. 主要目的是增加特定关键字的曝光率.有站外SEO和站内SEO.通过了解各类搜索引擎如何抓取互联网页面. ...

  6. 从手工测试转型web自动化测试继而转型成专门做自动化测试的学习路线。

    在开始之前先自学两个工具商业web自动化测试工具请自学QTP:QTP的学习可以跳过,我是跳过了的.开源web自动化测试工具请自学Selenium:我当年是先学watir(耗时1周),再学seleniu ...

  7. Linux操作系统下三种配置环境变量的方法——转载

    来源:赛迪网 作者:millio       现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/e ...

  8. C# 扩展

    “扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.” 这是msdn上说的,也就是你可以对String,Int,DataRow,DataTable等这些 ...

  9. 二模10day1解题报告

    T1.阅览室(reading) 有一个0~T时间内开放的阅览室,n个读者来读书每人k本,编号和看完所需时间在输入中.其中喜欢度降序排列(不考虑数值),每个人先看喜欢的,如果没有(被人拿走了)就继续找第 ...

  10. ionic ngcordova map 地圖

    幾乎每個APP都會有地圖 所以在這裏記錄一下 1.在index.html 中 <script src="https://maps.googleapis.com/maps/api/js? ...