#进阶1:基础查询
/*
语法:
select 查询列表 from 表名;
特点:
1. 查询列表可以是: 表中的字段、常量值、表达式、函数
2. 查询的结果是一个虚拟的表格
细节注意补充:
1.记得在最上面打开指定的数据库
2.手工点选字段前后会有着重号(键盘数字1左边),当字段和关键字相同时,可以在字段前后加着重号加以区分
3.选中想要执行的代码段按F9,执行被选中的代码
*/
USE myeployees;
#1.查询表中的单个字段
SELECT last_name FROM employees;
#2.查询表中多个字段
SELECT last_name,salary,email FROM employees;
#3.查询表中的所有字段
SELECT `employee_id`,`first_name`,`last_name`,`email`,`phone_number`,`job_id`,`salary`,`commission_pct` FROM employees;
SELECT * FROM employees;
#4.查询常量值
SELECT 100;
SELECT 'john';
#5.查询表达式
SELECT 100%98;
#6.查询函数:调用某一个函数,取得该函数的返回值
SELECT VERSION();
#7.起别名
/*
1.便于理解
2.如果要查询的字段有重名的情况,使用别名可以区分开来
*/
#方式一:
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 salary AS 'out put' FROM employees;
#8.去重
#案例:查询员工表中设计到的所有的部门编号
SELECT DISTINCT department_id FROM employees;
#9.+号的作用
/*
java中的+号:
1.运算符:两个操作数都为数值型
2.连接符:只要有一个操作数为字符串
mysql中的+号
仅仅只有一个功能:运算符
1.两个操作数都为数值型,则做加法运算
2.其中一方为字符串,试图将字符型数值转换成数值型,
如果转换成功,则继续做加法运算
如果转换失败,则将字符型数值转换成0
3.只要其中一方为null,则结果肯定为null
*/
#案例:查询员工名和姓连接成一个字段,并显示为 姓名
SELECT
CONCAT(last_name,first_name) AS 姓名
FROM
employees;
#案例讲解
#1.下面的语句是否可以执行成功
SELECT last_name , job_id , salary AS sal
FROM employees;
#2.下面的语句是否可以执行成功
SELECT * FROM employees;
#3.找出下面语句中的错误 /查询语句中必须使用英文标点
SELECT employee_id, last_name,
salary * 12 "ANNUAL SALARY"
FROM employees;
#4.显示表departments的结构,并查询其中的全部数据
DESC departments;
SELECT * FROM departments;
#5.显示出表employees中的全部job_id(不能重复)
SELECT DISTINCT job_id FROM employees;
#6.显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT
SELECT
CONCAT(`first_name`,',',`last_name`,',',`commission_pct`) AS OUT_PUT
FROM
employees;
SELECT
CONCAT(`first_name`,',',`last_name`,',',IFNULL(`commission_pct`,0)) AS OUT_PUT
FROM
employees;
SELECT
IFNULL(commission_pct,0) AS 奖金率,commission_pct
FROM
employees;