MySQL系列专题(2)-MySQL的SQL语句和高级特性

[](()2.2.1 查询部分列

#查询员工表中所有员工的编号、名字、邮箱

SELECT employee_id,first_name,email

FROM t_employees;

[](()2.2.2 查询所有列

#查询员工表中所有员工的所有信息(所有列)

SELECT 所有列的列名 FROM t_employees;

SELECT * FROM t_employees;

  • [注意:生产环境下,优先使用列名查询。*的方式需转换成全列名,效率低,可读性差。](()
[](()2.2.3 对列中的数据进行运算

#查询员工表中所有员工的编号、名字、年薪

SELECT employee_id , first_name , salary*12

FROM t_employees;

| 算数运算符 | 描述 |

| — | — |

| + | 两列做加法运算 |

| - | 两列做减法运算 |

| * | 两列做乘法运算 |

| / | 两列做除法运算 |

  • [注意:%是占位符,而非模运算符。](()
[](()2.2.4 列的别名

列 as ‘列名’

#查询员工表中所有员工的编号、名字、年薪(列名均为中文)

SELECT employee_id as “编号” , first_name as “名字” , salary*12 as “年薪”

FROM t_employees;

[](()2.2.5 查询结果去重

DISTINCT 列名

#查询员工表中所有经理的ID。

SELECT DISTINCT manager_id

FROM t_employees;

[](()2.3排序查询

语法: SELECT 列名 FROM 表名 [ORDER BY 排序列 [排序规则]](()

| 排序规则 | 描述 |

| — | — |

| ASC | 对前面排序列做升序排序 |

| DESC | 对前面排序列做降序排序 |

[](()2.3.1 依据单列排序

#查询员工的编号,名字,薪资。按照工资高低进行降序排序。

SELECT employee_id , first_name , salary

FROM t_employees

ORDER BY salary DESC;

[](()2.3.2 依据多列排序

#查询员工的编号,名字,薪资。按照工资高低进行升序排序(薪资相同时,按照编号进行升序排序)。

SELECT employee_id , first_name , salary

FROM t_employees

ORDER BY salary DESC , employee_id ASC;

[](()2.4 条件查询

语法:SELECT 列名 FROM 表名 [WHERE 条件](()

| 关键字 | 描述 |

| — | — |

| WHERE 条件 | 在查询结果中,筛选符合条件的查询结果,条件为布尔表达式 |

[](()2.4.1 等值判断(=)

#查询薪资是11000的员工信息(编号、名字、薪资)

SELECT employee_id , first_name , salary

FROM t_employees

WHERE salary = 11000;

  • [注意:与 java 不同(==),mysql 中等值判断使用 =](()
[](()2.4.2 逻辑判断(and、or、not)

#查询薪资是11000并且提成是0.30的员工信息(编号、名字、薪资)

SELECT employee_id , first_name , salary

FROM t_employees

WHERE salary = 11000 AND commission_pct = 0.30;

[](()2.4.3 不等值判断(> 、< 、>= 、<= 、!= 、<>)

#查询员工的薪资在6000~10000之间的员工信息(编号,名字,薪资)

SELECT employee_id , first_name , salary

FROM t_employees

WHERE salary >= 6000 AND salary <= 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 10000;

[](()2.4.4 区间判断(between and)

#查询员工的薪资在6000~10000之间的员工信息(编号,名字,薪资)

SELECT employee_id , first_name , salary

FROM t_employees

WHERE salary BETWEEN 6000 AND 10000; #闭区间,包含区间边界的两个值

  • [注:在区间判断语法中,小值在前,大值在后,反之,得不到正确结果](()
[](()2.4.5 NULL 值判断(IS NULL、IS NOT NULL)
  • IS NULL
列名 IS NULL
  • IS NOT NULL
列名 IS NOT NULL

#查询没有提成的员工信息(编号,名字,薪资 , 提成)

SELECT employee_id , first_name , salary , commission_pct

FROM t_employees

WHERE commission_pct IS NULL;

[](()2.4.6 枚举查询( IN (值 1,值 2&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值