基础查询
/*
语法:
select 查询列表 from 表名;
特点:
1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格
*/
1、查询表中的单个字段
USE myemployees;
SELECT street_address FROM locations;
SELECT last_name FROM employees;
2、查询表中的多个字段
SELECT last_name,salary,email FROM employees;
3、查询表中的所有字段
SELECT * FROM jobs;
4、查询常量值
着重号 ’ ’ ,用于区分是不是一个关键字
SELECT 100;
SELECT 'john';
5、查询表达式
SELECT 100*98;
SELECT 100%98;
6、查询函数
SELECT VERSION();
7、起别名
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来
#方式一:使用AS
SELECT last_name AS 'name' FROM employees;
#方式二:实用空格
SELECT last_name '姓' FROM employees;
8、去重
#例:查询员工表中涉及到的所有部门的编号
#distinct
SELECT DISTINCT department_id FROM employees;
9、+的作用
/*
Java中的+ :
①运算符,两个操作数都是数值型
②连接符,只要有一个操作数为字符串
mysql中的+:
只有运算符的功能:两个操作数为数值型,则作加法运算
select '123'+90;
如果其中一方为字符型,会试图将字符型数值转换为数值型,如果转换成功,则继续做加法运算
select 'john'+90;
如果转换失败,则将字符型数值转换为0;
select null+90;
只要其中一方为null,则结果为null;
*/
10、CONCAT()函数连接字符串
#例:查询员工名和姓连接为一个字段,并显示为姓名
#函数concat()连接字符串
SELECT CONCAT(last_name,first_name) AS '姓名' FROM employees;
#失败案例
SELECT last_name+first_name '姓名' FROM employees;
#显示表departments的结构
DESC departments;
#显示表employees的全部列,各个列之间用逗号链接,列头显示成OUT_PUT
#数据中存在null
SELECT
CONCAT(`first_name`,',',`last_name`,',',`email`,',',`phone_number`,',',`job_id`,',',`salary`,',',`commission_pct`,',',`manager_id`,',',`department_id`,',',`hiredate`)
AS 'OUT_PUT'
FROM
employees;
11、IFNULL()函数
#ifnull()函数
#ifnull(expr1,expr2);
#expr1为可能为null
#expr2为将null替换为的数值
SELECT
CONCAT(`first_name`,',',`last_name`,',',`email`,',',`phone_number`,',',`job_id`,',',`salary`,',',IFNULL(commission_pct,0),',',`manager_id`,',',`department_id`,',',`hiredate`)
AS 'OUT_PUT'
FROM
employees;