一.基础查询
语法:select 查询列表 from 表名;
特点:
1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格
1.查询表中的单个字段
SELECT last_name FROM t_mysql_employees;
2.查询表中的多个字段
SELECT last_name,salary,email FROM t_mysql_employees;
3.查询表中的所有字段
方式一:
SELECT
`employee_id`,
`first_name`,
`last_name`,
`phone_number`,
`last_name`,
`job_id`,
`phone_number`,
`job_id`,
`salary`,
`commission_pct`,
`manager_id`,
`department_id`,
`hiredate`
FROM
t_mysql_employees ;
方式二:
SELECT * FROM t_mysql_employees;
4.查询常量值
SELECT 100;
SELECT 'john';
5.查询表达式
6.起别名
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来
方式一:使用as
SELECT 100%98 AS 结果;
SELECT last_name AS 姓,first_name AS 名 FROM t_mysql_employees;
方式二:使用空格
SELECT last_name 姓,first_name 名 FROM t_mysql_employees;
案例:查询salary,显示结果为 out put
SELECT salary AS "out put" FROM t_mysql_employees;
7.去重
案例:查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM t_mysql_employees;
8.+号的作用
java中的+号:
①运算符,两个操作数都为数值型
②连接符,只要有一个操作数为字符串
mysql中的+号:
仅仅只有一个功能:运算符
例如一:select '123'+90;只要其中一方为字符型,试图将字符型数值转换成数值型
如果转换成功,则继续做加法运算
举例二:select 'john'+90;字符+数值=0+数值
二. 过滤和排序数据
语法[select 查询列表 from 表名 where 筛选条件]
分类:
一、按条件表达式筛选
简单条件运算符:> < = != <> >= <=
二、按逻辑表达式筛选
逻辑运算符:.
作用:用于连接条件表达式
&& || ! and or not
&&和and:两个条件都为true,结果为true,反之为false ||或or: 只要有一个条件为true,结果为true,反之为false !或not: 如果连接的条件本身为false,结果为true,反之为false
三、模糊查询
like between and in is null
特点:一般和通配符搭配使用
通配符:
% 任意多个字符,包含0个字符
_ 任意单个字符
=或<>不能用于判断null值
安全等于 <=>
举例一:查询工资>12000的员工信息
SELECT * FROM t_mysql_employees WHERE salary>12000;
举例二:查询部门编号不等于90号的员工名和部门编号
SELECT last_name,department_id FROM t_mysql_employees WHERE department_id<>90;
四.排序查询order by
asc 升序;desc 降序
select 字段 from 表名 order by 字段 desc
例如:按单个字段排序
SELECT * FROM t_mysql_employees ORDER BY salary DESC;
注:order by子句可以支持 单个字段、别名、表达式、函数、多个字段
五,分组查询
功能:用作统计使用,又称为聚合函数或统计函数或组函数
分类:
sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数
举例:简单 的使用
SELECT SUM(salary) FROM t_mysql_employees;
SELECT AVG(salary) FROM t_mysql_employees;
SELECT MIN(salary) FROM t_mysql_employees;
SELECT MAX(salary) FROM t_mysql_employees;
SELECT COUNT(salary) FROM t_mysql_employees;