zoukankan      html  css  js  c++  java
  • MySQL查询语句

    基本查询:

    1) 查询时加一条固定字段, 例如Student信息后面添加一个班级('普通班')

      select id, name, '普通班' as 班级 from Student

    2) 查询时去重, 例如查询学生的居住地

      select distinct adress from table_name  或者 select distinct(adress) from table_name

    3) 查询时合并某几列的数值, 例如显示总成绩

      select name, (English + Math)  总成绩 from table_name

    条件查询: (where)

    1) 逻辑条件: 'and'与  'or'或

    2) 比较: '>'  '<'  '='  '>='  '<='  '<>'不等于   'between xx1 and xx2' <==>  '>= xx1 and <= xx2'

    3) 判断空(null vs 空字符串): 'is null' / 'is not null' / '=''' / '<>'''

    4) 模糊判断: 'like'  %无长度限制  _长度1

    聚合函数: count() sum() max() min() avg() 统计某一列的属性

     

    查询时排序: order by column_name [asc正序/desc反序]

    分组查询: group by column_name 

    分组后筛选: having + 聚合函数或者其他

     

    分页查询: select * from table_name limit line_index, line_num

      例如: 查询时只显示4条信息,从第4条开始显示

         select * form table_name limit 3, 4

     

    连接查询:

      内连接:只显示能匹配到的

          SELECT NAME 姓名, address 宿舍地址 FROM employee, dormitory WHERE employee.dorm_id = dormitory.id;

          SELECT NAME 姓名, address 宿舍地址 FROM employee INNER JOIN dormitory on employee.dorm_id = dormitory.id;

      左连接: 以左边的表为基准,从右边表选择对应的数值添加进新列

          SELECT address, NAME FROM dormitory d LEFT JOIN employee e ON d.id = e.dorm_id;

      右连接:同左连接类似,只不过换个位置

      全连接:

      自连接:SELECT e.name 员工, b.name 上司 FROM employee e LEFT JOIN employee b ON e.bossId = b.id;

  • 相关阅读:
    [noip2018]day1
    [CF1110d]JONGMAH
    BZOJ 2733 [HNOI2012]永无乡
    BZOJ 3123 [SDOI2013] 森林
    Nowcoder 练习赛26E 树上路径
    Luogu 2575 高手过招-SG函数
    BZOJ 1123[POI2008]BLO-Tarjan
    Nowcoder OI赛制测试2 F 假的数学题
    Luogu 2467[SDOI2010]地精部落
    Luogu 2216[HAOI2007]理想的正方形
  • 原文地址:https://www.cnblogs.com/webyyq/p/6501162.html
Copyright © 2011-2022 走看看