• mysql实践(一)--查询


    1.查询是常见的增删改查操作中最为复杂的一段。

    2.常见格式

    select [查询内容] from [表名] where [查询条件]

    3.去重(distinct)

    select distinct [查询内容] from [表名] where [查询条件]

    使用关键字distinct来去除重复的内容(注意:指查询结果所有内容重复的元组),在mysql中不只是distinct可以去重,也可以使用group by 自带的去重。

    4.排序(order by)

    select [查询内容] from [表名] where [查询条件] order by [属性组] [desc]

    使用用order by 会根据你属性组的分量进行排序,默认情况下是由小到大的顺序,可使用desc来倒序。

    5.去部分值(limit)

    select [查询内容] from [表名] where [查询条件] limit 35

    limit中参数3代指从第3个起(包括3在内),5代表显示5条数据

    6.as

    select [查询内容] from [select 查询语句] as table_1 where [查询条件]
    select [查询内容] as new_name from [表名] where [查询条件]

    当我们需要再次使用一些无法再次表达的内容时,可以使用as将他命名,可以是命名为属性,也可以是表。

    7.连接使用(join)

    select [查询内容] from table_1 inner join table_2 on [连接内容] where [查询条件]
    select [查询内容] from table_1 left outer join table_2 on [连接内容] where [查询条件]

    无论是自然连接,内连接还是外连接只使用在from中,用于多表关联,on后的连接内容可以是等于也可以是between on等关键字。

    8.in/not in

    select [查询内容] from [表名] where 属性名 in (select [查询结果] from [表名] where [查询条件])

    这些关键字使用与where语句,常用于子表查询操作,不过值得注意的是,属性名与查询结果应该是对应的。

    9.all/any

    select [查询内容] from [表名] where [属性名]>all(select...)
    select [查询内容] from [表名] where [属性名]>any(select...)

    使用基本与in的使用方法类似,主要在于all与any的意思。>all代表大与所有人则取最高值,>any代表大与任何一个人就行则取大与最低值;<all代表小于所有人,取最低值。<any代表小于任何一个人,取最高值。

    10.having

    having与where极其相似,都可以看做是一个条件判断语句,或者说是一个过滤器

    区别主要有三点:

      having where
    执行时间 先执行前面语句将数据读到内存中在使用having过滤 根据where语句过滤,再将过滤后的结果放入内存
    是否可以使用字段别名 可以使用 不可以使用
    是否可以使用统计函数 可以使用 不可以使用
    select eno as e from emp having e>50 #可以
    select eno as e from emp where e>50 #不可以
    select eno as e from emp group by eno having e>50 #可以
    select eno as e from emp where e>50 group by eno #不可以
  • 相关阅读:
    E:Could not get lock /var/lib/apt/lists/lock
    报错:shell-init: error retrieving current directory: getcwd: cannot access parent directories
    随记
    Linux下C++调用后端接口
    Python操作Execl
    使用CamFI设备二次开发,传输照片遇到的问题
    “Could not determine which "make" command to run. Check the "make" step in the build configuration.” 在Linux下 Qt图形库出错解决
    在Linux系统下Qt中获取相对路径
    C++命名空间
    css知识点汇总
  • 原文地址:https://www.cnblogs.com/qqwhsj/p/10766644.html
Copyright © 2020-2023  润新知