SQL 设置更加复杂的筛选条件



文章目录

  • SQL 设置更加复杂的筛选条件
  • 1. LIKE 操作符
  • 2.LIKE 语法
  • 3.逻辑运算符
  • 4.通配符
  • 总结



1. LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

mysql like 两个条件 mysql like多条件_mysql

2.LIKE 语法

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

演示数据库

下面是选自 “Websites” 表的数据:

id

name

url

alexa

country

1

Google

https://www.google.cm/

1

USA

2

百度

http://www.baidu.com

666

CN

3

淘宝

https://www.taobao.com/

13

CN

4

微博

http://weibo.com/

20

CN

5

Facebook

https://www.facebook.com/

3

USA

6

stackoverflow

http://stackoverflow.com/

0

IND

实例
SQL LIKE 操作符实例
下面的 SQL 语句选取 name 以字母 “G” 开始的所有客户:

SELECT * FROM Websites
WHERE name LIKE 'G%';

实例
提示:“%” 符号用于在模式的前后定义通配符(默认字母)。您将在下一章中学习更多有关通配符的知识。
下面的 SQL 语句选取 name 以字母 “k” 结尾的所有客户:

SELECT * FROM Websites
WHERE name LIKE '%k';

实例
下面的 SQL 语句选取 name 包含模式 “oo” 的所有客户:

SELECT * FROM Websites
WHERE name LIKE '%oo%';

实例
通过使用 NOT 关键字,您可以选取不匹配模式的记录。
下面的 SQL 语句选取 name 不包含模式 “oo” 的所有客户:

SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';

3.逻辑运算符

定义:在SQL中,逻辑运算符指的是对多个条件连接的运算,常见的关系有并且、或者、非这三种

mysql like 两个条件 mysql like多条件_mysql like 两个条件_02

4.通配符

通配符可用于替代字符串中的任何其他字符。
在 SQL 中,通配符与 SQL LIKE 操作符一起使用。

SQL 通配符用于搜索表中的数据。

在 SQL 中,可使用以下通配符:

通配符 描述
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]

[!charlist] 不在字符列中的任何单一字符
演示数据库

下面是选自 “Websites” 表的数据:

id

name

url

alexa

country

1

Google

https://www.google.cm/

1

USA

2

百度

http://www.baidu.com

666

CN

3

淘宝

https://www.taobao.com/

13

CN

4

微博

http://weibo.com/

20

CN

5

Facebook

https://www.facebook.com/

3

USA

6

stackoverflow

http://stackoverflow.com/

0

IND

实例
使用 SQL % 通配符
下面的 SQL 语句选取 url 以字母 “https” 开始的所有网站:

SELECT * FROM Websites
WHERE url LIKE 'https%';

实例
下面的 SQL 语句选取 url 包含模式 “oo” 的所有网站:

SELECT * FROM Websites
WHERE url LIKE '%oo%';

实例
使用 SQL _ 通配符
下面的 SQL 语句选取 name 以一个任意字符开始,然后是 “oogle” 的所有客户:

SELECT * FROM Websites
WHERE name LIKE '_oogle';

实例
下面的 SQL 语句选取 name 以 “G” 开始,然后是一个任意字符,然后是 “o”,然后是一个任意字符,然后是 “le” 的所有网站:

SELECT * FROM Websites
WHERE name LIKE 'G_o_le';

实例
使用 SQL [charlist] 通配符
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。

下面的 SQL 语句选取 name 以 “G”、“F” 或 “s” 开始的所有网站:

SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';

实例
下面的 SQL 语句选取 name 以 A 到 H 字母开头的网站:

SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';

实例
下面的 SQL 语句选取 name 不以 A 到 H 字母开头的网站:

SELECT * FROM Websites
WHERE name REGEXP '^[^A-H]';

总结

以上就是今天要讲的内容,本文仅仅简单介绍了设置更加复杂的筛选条件的使用。好了今天的内容就到这里了,下一篇再见。