语法: select 查询列表 form 表名; 特点: 1. 查询列表可以是:表中的字段、常量值、表达式、函数 2. 查询的结果是一个虚拟的表格
USE myemployees;
SELECT last_name FROM employees;
SELECT last_name,salary,email FROM employees;
方式一
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 ;
字符型和日期型的常量值必须用单引号引起来,数值型不需要
SELECT 100;
SELECT 'jonn';
SELECT 100%98;
SELECT VERSION();
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 put
SELECT salary AS OUT put FROM employees;
会报错,别名中有特殊符号,如空格,#等,把别名加上""
SELECT salary AS "out put" FROM employees;
案例: 查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM employees;
SELECT DISTINCT a,b FROM 表名; #错误,不可以给两个及以上的字段去重
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;
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;
功能: 判断某字段或表达式是否为null, 如果为null,返回指定的值,否则返回原本的值
SELECT IFNULL(
commission_pct,0) FROM employees;
功能: 判断某字段或表达式是否为null,如果是,返回1,否则,返回0