• MYSQL 查询方法 统计查询 链接查询 子查询


    mysql表格查询方法:

    查询:

    1.简单查询

    select * from Info --查所有数据
    select Code,Name from Info --查指定列的数据
    select Code as '代号',Name as '姓名' from Info --给列指定别名

    2.条件查询

    select * from Info where Code='p001'
    select * from Info where Sex='true' and Nation='n001' --多条件并的关系
    select * from Info where Sex='true' or Nation='n001' --多条件或的关系

    3.范围查询

    select * from Car where Price>40 and Price<50
    select * from Car where Price between 40 and 50

    4.离散查询

    select * from Car where Code in ('c001','c005','c010','c015')
    select * from Car where Code not in ('c001','c005','c010','c015')

    5.模糊查询

    select * from Car where Name like '%宝马%' --查包含宝马的
    select * from Car where Name like '宝马%' --查以宝马开头的
    select * from Car where Name like '%宝马' --查以宝马结尾的
    select * from Car where Name like '宝马' --查等于宝马的

    select * from Car where Name like '__E%' --查第三个字符是E的

    % 代表是任意多个字符

    _ 代表是一个字符

    6.排序查询

    select * from Car order by Price asc --以价格升序排列
    select * from Car order by Price desc --以价格降序排列
    select * from Car order by Oil desc,Price asc --以两个字段排序,前面的是主条件后面的是次要条件

    7.分页查询

    select top 5 * from Car
    select top 5 * from Car where Code not in (select top 5 Code from Car)

    当前页:page = 2; 每页显示:row = 10;

    select top row * from Car where Code not in (select top (page-1)*row Code from Car)

    8.去重查询

    select distinct Brand from Car

    9.分组查询

    select Brand from Car group by Brand having count(*)>2

    10.聚合函数(统计查询)

    select count(*) from Car --查询所有数据条数
    select count(Code) from Car --查询所有数据条数

    select sum(Price) from Car --求和
    select avg(Price) from Car --求平均
    select max(Price) from Car --求最大值
    select min(Price) from Car --求最小值


    高级查询

    1.连接查询

    select * from Info,Nation --形成笛卡尔积

    select * from Info,Nation where Info.Nation = Nation.Code

    select Info.Code,Info.Name,Sex,Nation.Name,Birthday from Info,Nation where Info.Nation = Nation.Code

    select * from Info join Nation on Info.Nation = Nation.Code --join on 的形式

    2.联合查询

    select Code,Name from Info
    union
    select Code,Name from Nation

    3.子查询

    一条SQL语句中包含两个查询,其中一个是父查询(外层查询),另一个是子查询(里层查询),子查询查询的结果作为父查询的条件。

    --查询民族为汉族的所有人员信息
    select * from Info where Nation = (select Code from Nation where Name = '汉族')


    (1)无关子查询

    子查询可以单独执行,子查询和父查询没有一定的关系

    --查询系列是宝马5系的所有汽车信息
    select * from Car where Brand =(select Brand_Code from Brand where Brand_Name = '宝马5系')


    (2)相关子查询

    --查找油耗低于该系列平均油耗的汽车

    select * from Car where Oil<(该系列的平均油耗)
    select avg(Oil) from Car where Brand = (该系列)


    select * from Car a where Oil<(select avg(Oil) from Car b where b.Brand = a.Brand)

  • 相关阅读:
    HDOJ-1106
    二进制神题--一千个苹果问题
    HDOJ-2160
    HDOJ-2058
    HDOJ-2045
    HDOJ-2034
    HDOJ-2054
    HDOJ-2036
    F
    B
  • 原文地址:https://www.cnblogs.com/dej-11/p/7580467.html
Copyright © 2020-2023  润新知