回退至Mysql数据库理论与实战
#进阶一:基础查询
语法:
select 查询列表 from 表名;
特点:
1、查询的结果集是一个虚拟表,并没有真实存在
2、查询列表支持常量、字段(列)、表达式、方法(函数)等
类似于 System.out.println(一个值);
补充:
1、去重
2、起别名
3、常见的函数
database()
version()
user()
ifnull()
concat()
USE myemployees;
#①查询常量
SELECT 100 ;#数值型的常量值,不需要加引号
SELECT '刘宝英';#字符和字符串在sql中都称为字符型,常量值需要使用单引号引起来!
#②查询表达式
SELECT 100*3;
SELECT 100%3;
#③查询单个字段
SELECT last_name FROM employees;
#④查询多个字段
SELECT last_name,hiredate ,salary 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 * FROM employees;#*代表所有字段
#⑥查询函数(方法)
SELECT DATABASE();
SELECT VERSION();
SELECT USER();
#补充:
#⑦去重
#查询员工表中的员工所在的部门有哪些
SELECT DISTINCT department_id FROM employees;
#⑧+号的作用
/*
java的加号:
作用一:加法运算,当两个操作数都是数值型
作用二:连接符,当至少一个操作数是String类型
sql的加号:
功能:加法运算
a、数值+数值: select 100+2.5;
b、数值+字符: select 100+'abc'; 试图将字符转换成数值,如果失败,则转成0,否则转成对应的数值
c、任意类型+null:select 100+null;
*/
#案例:查询员工的姓名,将姓和名连接在一起显示
SELECT first_name+last_name FROM employees;
SELECT CONCAT(first_name,last_name) FROM employees;
#⑨起别名
/*
别名一般不需要使用引号,但如果里面包含特殊符号,如空格。则必须使用单引号或双引号引起来
*/
#方式一:使用as
SELECT CONCAT(first_name,last_name) AS '姓 名' FROM employees;
#方式二:使用空格
SELECT CONCAT(first_name,last_name) '姓 名' FROM employees;
#⑩查看表的结构
DESC 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(last_name,first_name,salary,email,phone_number,IFNULL(commission_pct,0)) out_put
FROM employees;
SELECT IFNULL(commission_pct,0),commission_pct FROM employees;