1_基础查询
语法:
select 查询列表 from 表名;
特点
- 查询列表 可以是字段、常量值、表达式、函数
- 查询的结果是一个虚拟的表格,不是真实存在的
USE myemployees; #打开库
1. 查询表中的单个字段
SELECT last_name FROM employees;
2. 查询表中的多个字段
SELECT last_NAME,EMAIL,salary FROM employees;
3. 查询表中的所有字段
1.可以全部写
2.也可以 鼠标左键 双击 employees中的字段(SQLyog)
3.便捷查询
SELECT * FROM employees; #查询结果顺序与原表字段顺序一致
查询细节
1.打开库 USE myemployees;
2. **``**里面放字段
4.查询常量值
SELECT 100;
SELECT 'john'
5.查询表达式
SELECT 900*10;
6.查询函数 查询结果为函数返回结果
SELECT VERSION();
7.起别名
- 便于理解
- 如果 要查询的 字段 有重名的情况,使用别名可以区分开来
- 方法一:使用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. + 号的作用 运算符
SELECT 100+90
两个操作数都为数值型,则做加法运算
SELECT'123'+100
一个为字符型,那么试图将字符型转化为数值型,如果成功,则继续做加法运算 SELECT
'HAIYANG'+100
如果失败,只输出数值型,字符型数值转化为0
SELECT NULL+100
如果一个为null,那么结果都为null
案例:查询员工名和姓连接为一个字段,并显示为 姓名
SELECT LAST_NAME+first_name AS 姓名 FROM employees; # 输出结果为0 错误语句
SELECT CONCAT(LAST_NAME,FIRST_NAME)AS 姓名 FROM employees; # 正确语句
练习:
#1. 显示表 departments 的结构,并查询其中的全部数据
DESC DEPARTMENTS;
SELECT * FROM departments;
#2. 显示出表 employees 中的全部 job_id(不能重复)
SELECT DISTINCT JOB_ID FROM employees;
#3. 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT
# 因为 commission_pct 里 有null值 有null值的行连接起来会输出 null值,因此
# 将null值改为 0.
# IFNULL(COMMISSION_PCT,0) 意思为 如果 COMMISSION_PCT 里有null值 那么该 null值 返回 0
SELECT IFNULL(COMMISSION_PCT,0)AS 奖金率,COMMISSION_PCT FROM employees;
SELECT CONCAT(`employee_id`,',',`first_name`,',',`last_name`,',',`email`,',',`job_id`,',',IFNULL(COMMISSION_PCT,0))
AS "OUT_PUT"
FROM employees;