时间:2021-07-01 10:21:17 帮助过:3人阅读
SELECT name, sex, id, salary FROM Employee WHERE name = ’王静’
————— ——— —— ————
Results
name sex id salary
王静 女 3004 3000.00
[1row] www.dedecms.com
2. IN
当确切知道所要查找的内容,且为多个值时,可以使用 IN 子句来进行数据比较。IN 子句中也可以使用数字、字符串或日期。例如,查找名为“王静”、“王力刚”、“王亚鹏”的工作人员,可以使用 IN 子句进行匹配:
SELECT name, sex, id, salary FROM Employee WHERE name IN(’王静’, ’王力刚’, ’王亚鹏’)
————— ——— —— ————
Results name sex id salary
王静 女 3004 3000.00
王力刚 男 5003 3000.00
王亚鹏 男 4004 6000.00
[3rows] www.dedecms.com
3.LIKE 子句
当无法确切知道所要查找的值,而是知道所要查找的数据符合的模式时,可以使用LIKE 子句进行匹配。一般来说,LIKE 子句仅在字符串类型时使用,有些系统也支持在日期数据中使用,但对数字类型数据是不能使用 LIKE 子句的。例如,查找名字中都包含汉字“燕”的工作人员,可以使用 LIKE 子句进行匹配:
SELECT name, sex, id, salary FROM Employee WHERE name LIKE ’%燕%’
Results
name sex id salary
刘燕 女 2002 3000.00
张敏燕 女 4002 4000.00
[2rows]
需要注意的是,通配符只有在 LIKE 子句中使用时才具有通配符的含义。不在 LIKE子句中使用时, 就不具有特殊的含义,仅表示其本身的值。
例如, 在等号中使用字符 “%”,将上例修改为:
SELECT name, sex, id, salary FROM Employee WHERE name = ’%燕%’
Results name sex id salary
————— ——— —— ————
[0row]
则无法找到任何数据,因为使用等号时字符 “%” 仅表示其本身的含以, 而 Employee表中并没有 name 列值为“%燕%”的记录。
SQL中的等号、IN、LIKE三者的比较
标签: