基础查询
一、基础查询
语句格式 select 查询列表 from 表名;
注意:
- 查询列表可以是:表中的字段、常量值、表达式、函数
- 查询的结果是一个虚拟的表格
1. 查询单个字段
SELECT last_name FROM employees;
2. 查询多个字段
SELECT last_name,first_name FROM employees;
3. 查询所有字段
SELECT * FROM employees;
细节补充:如果字段名为关键字如name那么查询时要加``name`
4. 查询常量值
SELECT 100;
SELECT 'jon';
5. 查询表达式
SELECT 100*98;
6. 查询函数
SELECT VERSION();
7. 起别名
- 便于理解
- 如果要查询的字段有重名的情况,使用别名可以区分开来
SELECT last_name AS 姓,first_name AS 名 FROM employees;
SELECT last_name 姓,first_name 名 FROM employees;
SELECT salary AS "out put" FROM employees ;
8. 去重
SELECT DISTINCT department_id FROM employees;
二、条件查询
语句格式 select 查询列表 from 表名 where 筛选条件;
1. 按条件表达式
条件运算符:> < = != <> >= <=
2. 按逻辑表达式筛选
逻辑示算符:
&& || !
and or not
3. 模糊查询
like
between and
in
is null
三、条件查询 order by
语句格式 select 查询列表 from 表名 [where 筛选条件] order by 排序列表 [asc|desc];
注意:asc代表的是升序,desc代表的是降序,如果不写,默训是升序
SELECT * FROM employees ORDER BY salary DESC;
SELECT * FROM emplovees ORDER BY salary ;
四、常见函数
概念:类似于java的方法,将-组逻辑语句封装在方法体中,对外暴露方法名
好处: 1、隐藏了实现细节
2、提高代码的重用性
语句格式:select 函数名(实参列表) [form表];
分类:
1、单行函数如(concat.、length、 ifnull等
2、分组函数
功能:做统计使用,又称为统计函数、聚合函数、组函数
SELECT COUNT (salary) FROM employees;
SELECT COUNT(*) FROM employees ;
SELECT COUNT (1) FROM employees ;
效率:
MYISAM存储引擎下, COUNT() 的效率高
INNODB存储引擎下,COUNT ()和COUNT (1)的效率差不多,比COUNT (字段)要高一些
四、分组查询
语法:
select 分组函数,列(要求出现在group by的后面) from表 [where筛选条件] group by 分组的列表 [order by子句]
注意:查询列表必须特殊,要求是分组函数和group by后出现的字段