数据库中in的用法

 我来答
华源网络
2022-07-19 · TA获得超过5578个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:145万
展开全部

  数据库中in的用法的用法你知道吗?下面我就跟你们详细介绍下数据库中in的用法的用法,希望对你们有用。

  数据库中in的用法的用法如下:

  IN:确定给定的值是否与子查询或列表中的值相匹配。

  IN 关键字使您得以选择与列表中的任意一个值匹配的行。

  SELECT ProductID, ProductName FROM Northwind.dbo.Products 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 = publishers.pub_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 =publishers.pub_id AND type =

  'business')

  下面的查询查找已经不销售的书的名称:

  SELECT titleFROM titles WHERE NOT EXISTS (SELECT title_id FROM sales WHERE title_id =titles.title_id)

  例子:

  //验证有发布产品的公司个数

  select id,name from company where exists (select * from product where comid=company.id)

  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=company.id)

  select id,name from company where id not in(select comid from product)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式