sql中?in的用法

哎呀,听了你这么一说,我好像明白了一些了。
记得第一次接触SQL的时候,我在一家小公司工作。
他们的旧系统和数据库非常慢。
有时你必须使用IN。

以我为例。
那一年,也就是2 01 8 年左右,我们举办了一个活动,必须从用户表中找出哪些用户参加了某个活动。
可能有几十个活动ID。
写一个IN,列出一长串,比如ID1 、ID2 、ID3 ……这样写就好了。
直接使用 SELECT FROM users WHERE Activity_id IN (1 , 2 , 3 , ..., 5 0)。
我当时就觉得很好,搜索速度也很快。

但是有一次,查一个类目时,我得先去类目表里找一堆子类目ID,然后再回去查商品表。
分类表连接杂乱,子类别过多。
我使用了 IN,就像子查询一样:SELECT FROM Product WHERE Category_id IN (SELECT Category_id FROM subcategory WHERE main_category_id = X)。
当时系统运行缓慢,老板着急。
后来查了一下,发现子查询返回了几千条数据,但是IN完全宕机了。
长时间检查数据卡。
后来我改变了主意,用了EXISTS或者重写了一个JOIN。
我花了一段时间才解决它。

所以你看,IN 用得好的话很方便,但是用得不正确的话真的会拖垮系统,特别是当子查询返回大量数据时。
这个问题你一定要注意。

sql中in的用法

지난주 我的一个朋友询问 SQL 中的 IN 运算符。

他不明白为什么IN如此高效。
他们说数据量越大,效率就越高。
例如,2 02 3 年 2 月的项目。
该表有1 00万条数据。
他通过 ID 从 1 到 1 000 检查记录。
IN 写入速度更快。
WHERE id IN (1 ,2 ,...,1 000)
我自己写的,但有时 IN 不好。
去年三月份我就掉进了陷阱。
该列表有数千个值。
IN 直接附加。
后来我改用JOIN。
数据库优化器会自动更改此设置。
由你决定

sql中in的用法

哎呀,说到 SQL 中 IN 的用法,这已经是一个老话题了。
以前做数据库管理的时候,这个东西太好用了。
来吧,我们来谈谈这个。

首先,IN是一个运算符,主要出现在WHERE子句中。
主要是用来指定多个可能的值吧?如果要过滤记录,如果该记录的特定字段值在给定列表中,IN 将派上用场。

例如,基本语法是这样的: SELECT columnname FROM tablename WHERE columnname IN (value1 , value2 , ...);
这里columnname是你要检查的列名,tablename是表名,括号中的value1 , value2 ...是你要匹配的值列表。

功能是让你一次检查多个值,这比使用一堆OR条件方便得多。
数据库会逐一检查每一行记录,看看列名的值是否在括号列表中。

例如,假设有一个包含成绩列的学生表。
如果要查找一年级和三年级的所有学生,SQL语句如下所示:
SELECT FROM Students WHEREgrade IN('一年级','三年级');
这样写会显示年级列中所有带有'一年级'或'三年级'的学生信息。

注意:首先,值列表中的数据类型必须与列中的数据类型相同,否则会出现错误。
其次,虽然 IN 使用起来很方便,但是如果数据量很大,它会影响性能。
此时,您可能需要考虑使用JOIN或其他查询方法。

总之,IN是一个非常实用的工具。
一旦掌握了它,您在编写 SQL 查询时将能够更灵活、更高效地处理数据。
当时不太懂,就看了很多资料,慢慢上手了。
现在回想起来,其实并没有那么复杂。