admin 管理员组文章数量: 887021
2024年2月25日发(作者:简易的聊天网站php)
数据库中in的用法
数据库中in的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库中in的用法的用法,希望对你们有用。
数据库中in的用法的用法如下:
IN:确定给定的值是否与子查询或列表中的值相匹配。
IN 关键字使您得以选择与列表中的任意一个值匹配的行。
SELECT ProductID, ProductName FROM
ts WHERECategoryID IN (1, 4, 5)
IN 关键字之后的项目必须用逗号隔开,并且括在括号中。
NOT IN:通过 NOT IN关键字引入的子查询也返回一列零值或更多值。
以下查询查找没有出版过商业书籍的出版商的名称。
SELECTpub_name FROM publishers WHERE pub_id NOT IN
(SELECT pub_id FROM titles WHEREtype = 'business')
使用 EXISTS和 NOT EXISTS引入的子查询可用于两种集合原理的操作:交集与差集。两个集合的交集包含同时属于两个原集合的所有元素。
差集包含只属于两个集合中的第一个集合的元素。
EXISTS:指定一个子查询,检测行的存在。
SELECT DISTINCT pub_name FROM publishers WHERE
EXISTS (SELECT *FROM titles WHERE pub_id = _id
AND type =
'business')
SELECTdistinct pub_name FROM publishers WHERE pub_id
IN (SELECT pub_id FROM titlesWHERE type = 'business')
两者的区别:
EXISTS:后面可以是整句的查询语句如:SELECT *FROM titles
IN:后面只能是对单列:SELECTpub_id FROM titles
NOT EXISTS:
例如,要查找不出版商业书籍的出版商的名称:
SELECTpub_name FROM publishers WHERE NOT EXISTS
(SELECT * FROM titles WHERE pub_id =_id AND
type =
'business')
下面的查询查找已经不销售的书的名称:
SELECT titleFROM titles WHERE NOT EXISTS (SELECT title_id
FROM sales WHERE title_id =_id)
例子:
//验证有发布产品的公司个数
select id,name from company where exists (select * from
product where comid=)
select id,name from company where id in(select comid from
product)
//验证没有发布产品的公司个数
select id,name from company where not exists (select * from
product where comid=)
select id,name from company where id not in(select comid
from product)
版权声明:本文标题:数据库中in的用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708806514h531629.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论