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;

原文地址:https://www.cnblogs.com/webyyq/p/6501162.html