MySQL进阶一(基础查询)
# 进阶1:基础查询
/*
语法:
select 查询列表
from 表名;
类似于:System.out.println(打印东西);
特点:
1.查询列表可以是:表中的字段,常量值,表达式,函数
2.查询的结果是一个虚拟的表格
*/
USE myemployees;
#1.查询表中的单个字段
SELECT last_name
FROM employees;
#2.查询表中的多个字段
SELECT last_name,salary,email
FROM employees;
#3.查询表中的所有字段
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;
#8.去重
#案例:查询员工表中涉及所有部门的编号
SELECT DISTINCT department_id
FROM employees;
#9.+号的作用
/*
Java中的+号
@1运算符,两个操作符都为数值型
@2连接符,只要有一个操作数为字符型
mysql中的+号
仅仅只有一个功能:运算符
SELECT 100+90; 两个操作数都为数值型,则做加法运算
SELECT '123'+90; 只要其中一方为字符型,试图将字符型数值转换成数值型
如果转换成功,则继续做加法运算
SELECT 'john'+90; 如果转化失败,则将字符型数值转换为0
SELECT null+10; 只要其中一方为null,则结果肯定为null
*/
#案例:查询员工名和姓连接成一个字段,并显示为姓名
SELECT CONCAT('a','b','c') AS 结果;
SELECT CONCAT(last_name,first_name) AS 姓名
FROM employees;
#10.显示表的结构
DESC departments; #显示表 departments 的结构
#作业
/*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 的结构,并查询其中的全部数据
5. 显示出表 employees 中的全部 job_id(不能重复)
6. 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT */
select last_name , job_id , salary as sal
from employees;
select *
from employees;
#3.mysql输入的符号,必须是英文状态
select employee_id,last_name,salary*12 'ANNUAL SALARY'
from employees;
#4. 显示表 departments 的结构,并查询其中的全部数据
DESC departments; #显示表 departments 的结构
SELECT * #并查询其中的全部数据
FROM departments;
#5. 显示出表 employees 中的全部 job_id(不能重复)
SELECT DISTINCT job_id
FROM employees;
#6. 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT */
SELECT IFNULL(commission_pct,0) AS 奖金率,commission_pct #参数一:为字段名,参数二:为自定义值。该函数作用是
FROM employees; #当参数一为null时,可以显示参数二代替。
SELECT CONCAT(employee_id,
',',
first_name,
',',
IFNULL(commission_pct,0)
) AS 'OUT_PUT'
FROM employees;