基础查询DQL
语法:
select 查询列表
form 表名;
特点:
1. 查询列表可以是:表中的字段、常量值、表达式、函数
2. 查询的结果是一个虚拟的表格
先打开想操作的库
USE myemployees;
1. 查询表中的单个字段
SELECT last_name FROM employees;
2. 查询表中的多个字段
SELECT last_name,salary,email FROM employees;
3. 查询表中的所有字段
-
方式一
SELECT * FROM employees;
-
方式二
`是着重号不是单引号,可以去掉,但是当列表名和数据库原有的一些系统名称重合的时候用着重号区分
SELECT
`employee_id`,
`first_name`,
`last_name`,
`email`,
`phone_number`,
`job_id`,
`salary`,
`commission_pct`,
`manager_id`,
`department_id`,
`hiredate`
FROM
employees ;
4. 查询常量值
字符型和日期型的常量值必须用单引号引起来,数值型不需要SELECT 100;
SELECT 'jonn';
5. 查询表达式
SELECT 100%98;
6. 查询函数
SELECT VERSION();
7. 起别名
1. 便于理解
2. 如果要查询的字段有重名的情况,使用别名可以区分开来
-
方式一:使用AS
SELECT 100%98 AS 求余;
SELECT last_name AS 姓,first_name AS 名 FROM employees;
-
方式二: 使用空格
SELECT last_name 姓, first_name 名 FROM employees
案例:查询salary,显示结果为 out putSELECT salary AS OUT put FROM employees;
会报错,别名中有特殊符号,如空格,#等,把别名加上""SELECT salary AS "out put" FROM employees;
8. 去重:在字段前面加上 DISTINCT
案例: 查询员工表中涉及到的所有的部门编号SELECT DISTINCT department_id FROM employees;
SELECT DISTINCT a,b FROM 表名; #错误,不可以给两个及以上的字段去重
9. +的作用
java中的+号:
1. 运算符,两个操作数都为数值型
2. 连接符,只要有一个操作数为字符串
mysql中的+号:
仅仅只有一个功能:运算符
select 100+90; 两个操作数都为数值型,则做加法运算
select '123'+90; 其中一方为字符型,试图将字符型数值转换成数值型,
如果转换成功,则继续做加法运算
select 'john'+90; 如果转换失败,则将字符型数值转换成0
select null+10; 只要其中一方为NULL,则结果肯定为NULL
案例:查询员工名和姓连接成一个字段,并显示为姓名
SELECT
last_name + first_name AS 姓名
FROM
employees;
concat连接函数 功能:拼接函数
SELECT
CONCAT(last_name,first_name) AS 姓名
FROM
employees;
ifnull 函数
功能: 判断某字段或表达式是否为null, 如果为null,返回指定的值,否则返回原本的值SELECT IFNULL(
commission_pct,0) FROM employees;
isnull 函数
功能: 判断某字段或表达式是否为null,如果是,返回1,否则,返回0