跳至主要內容

1.14 MySQL中的关系条件 🎉

刘春龙...大约 3 分钟数据库mysql

1.14 MySQL中的关系条件 🎉

常用比较条件 💎

提示

符号 != 也能够表示 不等于条件。

示例一:查询 employees 表中员工薪水大于等于 3000 的员工的姓名与薪水。

select last_name,salary from employees where salary >= 3000;

示例二:查询 employees 表中员工薪水不等于 5000 的员工的姓名与薪水。

select last_name,salary from employees where salary <> 5000;

其他比较条件 💎

使用BETWEEN 👻

可以用 BETWEEN 范围条件显示基于一个值范围的行。指定的范围
包含一个下限和一个上限。

示例:查询 employees 表,薪水在 3000-8000 之间的雇员ID、名字与薪水。

select employee_id,last_name,salary from employees where salary between 3000 and 8000;

使用IN 👻

示例:查询 employees 表,找出薪水是 5000,6000,8000 的雇员ID、名字与薪水。

select employee_id,last_name,salary from employees where salary in(5000,6000,8000);

使用LIKE 👻

示例:查询 employees 中雇员名字第二个字母是 e 的雇员名字。

select last_name from employees where last_name like '_e%';

使用IS NULL 👻

NULL 条件,包括 IS NULL 条件和 IS NOT NULL 条件。

IS NULL 条件用于空值测试。空值的意思是难以获得的、未指定
的、未知的或者不适用的。因此,你不能用 = ,因为 null 不能等于
或不等于任何值。

示例一:找出 emloyees 表中那些没有佣金的雇员雇员ID、名字与佣金。

select employee_id,last_name,commission_pct from employees where commission_pct is null;

示例二:找出 employees 表中那些有佣金的雇员ID、名字与佣金。

select employee_id,last_name,commission_pct from employees where commission_pct is not null;

逻辑条件 💎

逻辑条件组合两个比较条件的结果来产生一个基于这些条件的单个的结果,或者逆转一个单个条件的结果。当所有条件的结果为真时,返回行。

SQL 的三个逻辑运算符是:AND,OR,NOT

可以在 WHERE 子句中用 AND 和 OR 运算符使用多个条件。

示例一:查询 employees 表中雇员薪水是 8000 的并且名字中含有e 的雇员名字与薪水。

select last_name,salary from employees where salary = 8000 and last_name like '%e%';

示例二:查询 employees 表中雇员薪水是 8000 的或者名字中含有e 的雇员名字与薪水。

select last_name,salary from employees where salary = 8000 or last_name like '%e%';

示例三:查询 employees 表中雇员名字中不包含 u 的雇员的名字。

select last_name from employees where last_name not like '%u%';

优先规则 💎

在下面的例子中,如果不考录优先级的情况下,你会出现以下歧义

  • 分歧一:job_id等于SA或者AD,salary大于15000

  • 分歧二:job_id等于SA,job_id等于AD并且salary大于15000

有了优先级之后,就不村在分歧了

正确条件为:

job_id等于SA,job_id等于AD并且salary大于15000

如果你想要的时分歧1所查询的结果,应使用圆括号()强制提升优先级

上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7