D3-查询1

作者: 喝奶茶不加奶茶 | 来源:发表于2020-06-27 17:22 被阅读0次

首先需要准备好数据,新建数据库python_test_1并创建两个表:students表和classes表。

3.1 mysql查询

  • 查询所有字段
  • 查询指定字段
  • 使用 as 给字段起别名


  • select 表名.字段 .... from 表名;


  • 可以通过 as 给表起别名!!!


注意:给表起了别名就要用。
反例:select students.name, students.age from students as stu;

  • 消除重复行(查性别)!!!


    distinct字段的使用

3.2 条件查询

where关键字的使用

比较运算

比较运算符

  • 等于: =
  • 大于: >
  • 大于等于: >=
  • 小于: <
  • 小于等于: <=
  • 不等于: != 或 <>

==查询大于18岁的信息


==查询小于18岁的信息


==查询小于或者等于18岁的信息


查询年龄为18岁的所有学生的名字


查询年龄不等于18岁的所有学生的名字


逻辑运算(与或非)

and

18和28之间的所有学生信息


失败反例:
select * from students where age>18 and <28;

18岁以上的女性
注意:逻辑运算符前后的限制字段可以不一致。


or

18以上或者身高高过180(包含)以上


not

不在 18岁以上的女性 这个范围内的信息



注意:利用括号来达到指定的运算优先级顺序。

年龄不是小于或者等于18 并且是女性


3.3 模糊查询(where name like 要查询的数据)

*where... like...

  • % 替换任意个
  • _ 替换1个

查询姓名中 以 "小" 开始的名字


查询姓名中 有 "小" 所有的名字


查询有2个字的名字


查询有3个字的名字


查询至少有2个字的名字


3.4 范围查询

  • in
  • between...and...
    in (1, 3, 8)表示在一个非连续的范围内
    查询 年龄为18、34的姓名


not in 不非连续的范围之内(注意:not后直接跟关键字in)
年龄不是 18、34岁之间的信息


between ... and ...表示在一个连续的范围内
查询 年龄在18到34之间的的信息


not between ... and ...表示不在一个连续的范围内
查询 年龄不在在18到34之间的的信息


3.5 空判断

判空is null
查询身高为空的信息


判非空is not null


失败反例:select * from students where height not is null;

3.6 排序

  • order by 字段
  • asc从小到大排列,即升序
  • desc从大到小排序,即降序

查询年龄在18到34岁之间的男性,按照年龄从小到大到排序


查询年龄在18到34岁之间的女性,身高从高到矮排序


order by 多个字段
查询年龄在18到34岁之间的女性,身高从高到矮排序, 如果身高相同的情况下按照年龄从小到大排序


查询年龄在18到34岁之间的女性,身高从高到矮排序, 如果身高相同的情况下按照年龄从小到大排序,
如果年龄也相同那么按照id从大到小排序


按照年龄从小到大、身高从高到矮的排序


3.7 聚合函数

为了快速得到统计数据,经常会用到如下5个聚合函数

(1)总数

count
查询男性有多少人,女性有多少人


(2)最大值

max
查询最大的年龄


查询女性的最高 身高


(3)最小值

min
查询未删除的学生最小编号


(4)求和

sum
计算所有人的年龄总和


(5)平均值

avg
计算平均年龄


四舍五入 round(123.23 , 1) 保留1位小数
计算所有人的平均年龄,保留2位小数


计算男性的平均身高 保留2位小数


3.8 分组

  • group by
    按照性别分组,查询所有的性别

    注意:分组查询 select 的后面只能有两种值,一个值分组字段,一个是聚合函数

计算每种性别中的人数


注意:
count(1)和count(*)作用是一致的。

计算男性的人数


group_concat(...)
查询同种性别中的姓名


查询每组性别的平均年龄


having
查询平均年龄超过30岁的性别平均年龄, having avg(age) > 30
注意 having 后面一定是聚合函数


having和where的区别:
having是对子表的筛选;where是对记录的筛选。

查询每种性别中的人数多于2个的信息


with rollup 汇总


相关文章

  • D3-查询1

    首先需要准备好数据,新建数据库python_test_1并创建两个表:students表和classes表。 3....

  • 丽江记

    一、行程 行程概述D1-拉市海,住丽江D2-泸沽湖,住泸沽湖D3-泸沽湖,回住丽江D4-玉龙雪山,住丽江D5-返程...

  • 20191218爱美丽亲子时间管理践行第3天

    打卡日期:2019年12月18日 累计打卡:3天 #和谐关系是第一生产力#D3-易效能践行 12.18 ?孩子第1...

  • Oracle | 子查询和伪列

    1. 子查询 (1)单行子查询 (2)多行子查询 1)ANY子查询 2)ALL 子查询 2. 伪列...

  • D3-入门小练习-1

    根据Udacity Data Vis & D3的课程记录的一些入门练习。d3官方API参考链接3.0版本 1- W...

  • SQL常用语法

    创建库: 创建表 修改表 简单查询1 简单查询2(通配符) 简单查询3 连接查询 外部连接查询: 嵌套查询1: 注...

  • 人本主义心理学      D2成长的终级彼岸在哪里?

    D3-自我迷失的源头:真正的我不讨人喜欢 听完今天的导读,我迫切地想和大家分享自己的三段工作经历及内心的变化。 1...

  • Hibernate学习(Hibernate查询方式)

    Hibernate查询方式 对象导航查询(1)根据id查询某个客户,再查询这个客户里面所有的联系人 OID查询(1...

  • mysql的用法3

    -- ==============连接查询==================-- 1.连接查询: 同时查询多个表...

  • SQL 基础查询

    # 1. 基础查询 /* 语法: select 查询列表 from 表名; 特点: 1.查询列表可以是:查询表中的...

网友评论

    本文标题:D3-查询1

    本文链接:https://www.haomeiwen.com/subject/aqdefktx.html