MySQL查询
查询语句
select *, 字段名1,字段名2,from 表名称 [ where 条件语句 [ 后面可以加更多筛选条件 ] ]
注:黑色加粗 为必须的 中括号里面的内容根据实际需要 添加
一、单表查询(基本查询)
1.查询所有列(查询整个标的内容)
select *from 表名称
如1:SELECT *FROM departments
显示为整个表格的内容
2.查询 某一列
将例1中的*换成字段名,多个字段用,隔开
select 字段1,字段2 ···· from 表名称
例2: SELECT dept_no FROM departments
或 SELECT dept_no,dept_name FROM departments
也可用 concat 将字段 拼接一起显示
SELECT CONCAT( dept_no," ",dept_name)FROM departments
3.去除完全重复的列
SELECT 重复的字段名 FROM 表名称
4.列运算
a.数值型的数据可以直接来计算(+-*/)都可以
如:SELECT a+b FROM jisuan SELECT a-b FROM jisuan
2.日期类型 + -
3.字符串类型
concat拼接 SELECT CONCAT(a,b) FROM jisuan
给列取别名 as 可以省略
SELECT CONCAT(a,b)AS x FROM jisuan 或SELECT CONCAT(a,b)x FROM jisuan
还有 in,or,and,很简单,不一一介绍
5.条件控制
a.模糊查询 like
SELECT *FROM employees WHERE first_name LIKE '%orgi%'
这里的like 要和where从句配合使用,,模糊查询还要用到 %作为通配符有,,不然查找不到
%表示多个不确定字符,_ 表示一个字符
如SELECT *FROM employees WHERE first_name LIKE '%_rgi%'
注意:如果需要用到“_”和“%” 则要用到转义字符 “\%”‘\_’
null 则用is null 不能用=null 同理 not null也不能用!=null
还可以用or 或and 限制 等等
6.排序
ORDER BY 字段名 表示按照当前字段 排序
ORDER BY 字段名 asc 升序 可省略
ORDER BY 字段名 desc 降序
7.计算函数 (组函数 )
group by 字段名 表示 分组
分组函数 经常和聚合函数一起使用 avg count sun min max
having 分组 过滤 (与where 功能一样 ,此条件下 只能 用having 一般接在 group by 后面使用 )
SELECT *FROM dept_manager GROUP BY dept_no HAVING emp_no>110055
最后 根据需要使用order by
SELECT *FROM dept_manager GROUP BY dept_no HAVING emp_no>110055 ORDER BY emp_no