Employee表有ID和NAME列。名字可以重复。我想知道是否至少有一行名为“kaushik%”。
因此,查询应该返回true/false或1/0。
是否可以使用单个查询找到它。如果我们尝试这样的方法
select count(1) from employee where name like 'kaushik%'
在这种情况下,它不返回true/false。此外,我们正在遍历表中的所有记录。在简单SQL中是否存在这样的方法:每当获取满足条件的第一条记录时,就应该停止检查进一步的记录。或者这样的事情只能在Pl/SQL块中处理?
编辑*贾斯汀提供的第一种方法看起来是正确的答案
S
在堆栈溢出本身中有许多解决方案,目标是使用自动增量字段或时间戳读取表的最后n行:例如,以下查询以名为id的字段值的降序顺序从名为选项卡的表中获取最后十条记录,该字段值是表中的自动增量字段:
Select * from tab order by id desc limit 10
我的问题是:是否有任何替代方法,而无需获得自动增量字段或时间戳来完成任务以获得相同的输出?
提示:问这个问题的动机来自这样一个事实:当我们将记录存储到表中时,以及当我们使用简单的查询查询数据库时,并没有指定任何标准,比如:
Select * from tab
然后输出的顺序与插入到表中的记录的顺序相同。那么,是否有任何方
我正在测试一个查询,并想知道性能是否可以提高。这张表中有900万条记录。所使用的数据库是Postgres 12,查询应该是对任何帐户、目录类型、数量的快速查询。
SELECT d.docket_id, d.docket_type_id
FROM docket d
WHERE d.account_id = 557 AND (d.docket_type_id = ANY(array[2]))
AND exists (
select 1
from jsonb_array_elements(d.equipment) as eq
where (eq->'quantity')
我想从Oracle数据库中包含1000万条记录的表中删除几条记录(10万条记录)。当我尝试使用以下查询删除记录时
DELETE from TEST where ID in (1,2,3,4,1000,,, etc)
看起来有1000个值的限制,因此出现以下错误:
SQL Error: ORA-01795: maximum number of expressions in a list is 1000
是否存在在不使用PL/SQL的情况下在一条语句中删除1000条以上记录的查询?
我的想法如下--请推荐正确的查询:
DELETE from TEST where ID in (1,2,3,4,1
我有一个查询需要更新另一个表的一些元组,我只需要更新两条记录,每条记录对应的值是从另一个表中获取的,目前我的查询工作正常,没有输入错误,但它获取了零条记录,因此我的其他表的查询,我发现我的内部子查询无法获取相关数据,但我无法测试我的内部子查询,因为它需要两个表的引用 下面是查询 UPDATE SALARY_DETAIL_TBL sd
SET GROSS_EARNING =(SELECT AMOUNT FROM SALARY_DETAIL_REPORT sr WHERE sd.EMP_ID = sr.EMP_ID AND sr.PAY_CODE = 997) ,
GROSS_DEDUCTI
目前很难找到一种方法来验证两个表(表A中有很多行)
我有两张桌子
表A
ID
A
B
C
表匹配
ID Number
A 1
A 2
A 9
B 1
B 9
C 2
我正在尝试编写一个SQL Server查询,它基本上检查表A中的每个值是否存在一个变量集( 1,2,9)的行。
上面的例子是不正确的,因为t对A中的每条记录都应该有对应的记录,对应于每个值(1,2,9)。最终目标是:
表匹配
ID Number
A 1
A 2
A 9
B 1
B 2
B 9
C 1
C 2
C 9
我知道它令人费解,但一般来说,对于每一个X(
在我的数据库中,我有一个保存所有文件的表
这个表有几个依赖项(让我们将它们命名为: FilesDep1、FilesDep2、FilesDep3、FilesDep4、FilesDep5)
files表包含超过20000条记录,我需要过滤掉五个依赖项中的任何一个都不使用的文件。
所以我在来自FilesDep1的所有FileId上使用了联合
作为
select Id from [Files] where Id not in
(
select FileId from [FilesDep1]
union
select FileId from [FilesDep2]
un
我有以下配置单元查询:
select *
from A
left outer join B
on A.ID = B.ID
where B.ID IS NULL
结果会产生重复的数据,但我只需要非重复的记录。
经过一些研究,我尝试了以下查询:
select *
from (
select *
from A
left outer join on B
where A.ID = B.ID AND B.ID IS NULL ) join_result
group by jojn_result.ID
它显示了一个不明确的列引用ID错误。
我没有表A的列名。
请帮我找出解决
嗨,我正在运行下面的查询来识别重复的记录。
SELECT *
FROM unique2 P WHERE EXISTS(SELECT 1 FROM unique2 C
WHERE ( (C.surname) = (P.surname))
AND ( (C.postcode) = (P.postcode))
AND ((( (C.forename)
正如标题所暗示的..。我正在尝试找出开销最小的最快的方法来确定记录是否存在于表中。
示例查询:
SELECT COUNT(*) FROM products WHERE products.id = ?;
vs
SELECT COUNT(products.id) FROM products WHERE products.id = ?;
vs
SELECT products.id FROM products WHERE products.id = ?;
假设?与'TB100'互换...第一个和第二个查询都将返回完全相同的结果(例如...此对话的1 )。最后一个
我有两个表:A有400000条记录,B大约有350000条记录。
我正在执行左连接,以显示两个表之间的差异,但查询返回了大约100000。
这是我的不在查询:
SELECT *
FROM TableA LEFT JOIN TableB
ON TableA.[ID] = TableB.[ID]
WHERE (TableB.[ID] is null)
是不是出了什么问题,或者查询返回的信息是否超过了表之间的差异?谢谢
假设您想要从数据库中获取一条记录,该记录返回大量数据并需要多个连接。
所以我的问题是,使用单个查询来检查数据是否存在并在数据存在时获得结果,是否更好?或者做一个更简单的查询来检查数据是否存在然后id记录是否存在,再次查询以获得知道它存在的结果。
示例:
3表a、b和ab(连接表)
select * from
from a, b, ab
where condition
and condition
and condition
and condition etc...
或
select id
from a, b ab
where condition
如果存在,则执行上面的查询。
所以我不
有没有办法执行select查询,在表中搜索给定的单词,如果找到,则退出查询,不再继续计数?
例如,我有一个表(t1),其中包含以下值:
id tag tagdate
1 my 1-1-2012
2 name 1-1-2012
3 you 1-1-2012
4 foo 1-1-2012
5 make 1-1-2012
6 ir 1-1-2013
7 too 1-1-2013
.. .. ........
我有3张表- domains, keywords, comments
表domains是“主”表,所有这些表都有公共字段domain_id。我需要编写一个查询,如果在其他(keywords和comments)表中没有匹配的记录,则从domains表中选择记录。
我可以编写一个查询来选择匹配的记录,但是如何实现相反的结果呢?看着,我写了一个查询:
SELECT * FROM domains
LEFT JOIN keywords ON domains.domain_id=keywords.domain_id WHERE keywords.domain_id IS NULL
LEFT JOIN
这里有几个类似的问题。没有任何办法提供解决办法。我想在表B中插入一个新的记录,但前提是表A中存在外键。首先,我不想插入选择的结果。我只需要知道外键是否存在。
INSERT INTO tableB (tableA_ID,code,notes,created) VALUES ('24','1','test',NOW())
SELECT tableA_ID FROM tableA WHERE tableA_ID='24' AND owner_ID='9'
很明显,以上所述都行不通。但这有可能吗?只有当ta
如果两个进程(几乎)同时执行此查询,是否存在争用条件?
delete
table
from
table with (readpast)
join (
select top (1)
notPK
from
table with (readpast)
order by
table.id
) as selected on
table.notPK = selected.notPK
假设有多种重复的notPK's在table中,id
我正在处理的应用程序的一部分是显示用户需要处理的记录的“待办事项列表”。需要在此列表中显示记录的一组条件之一是,另一个表中没有相应的记录。
从我迄今为止的阅读和实验来看,有三种可能的方法来实现这一点:
SELECT table1.id FROM table1
LEFT JOIN table2 ON table1.id = table2.t1_id
WHERE table2.t1_id IS NULL;
SELECT table1.id FROM table1
WHERE NOT EXISTS (SELECT null FROM table2
WHERE table2.t1_id =
我有两个表data和page,在data表中我有一些记录,一些data记录id将存储在page表中。
现在我想选择id和title表单data表,这不在page表上。所以我写了这个查询:
SELECT d.id,d.title
FROM data AS d, page AS p
WHERE d.id NOT IN (p.data_id)
ORDER BY d.title ASC
此查询将起作用,但当page表为空时,此查询无法恢复记录!
我在SQL Server 2008企业版上运行查询时遇到问题。该查询是从另一个表插入到另一个表的,但它检查记录是否只插入一次。该查询如下所示:
insert into A(...)
--complex select from table B as b
WHERE NOT EXISTS (SELECT 1 FROM A WHERE id = b.id)
Edit:此查询执行以下操作:如果从B选择记录45 (即,id = 45的记录)两次,则第一次出现where is true记录45,因此将其插入A中。然后,第二次出现记录45,where条件为false,因此它不会插入A中两次。
这个查询在SQ
我有一个包含有数组字段的json列的表,我想检查数组中的数字是否属于一个范围,也就是说,如果每个元素传递谓词大于X,小于Y,
select nom.id, nom.doc
from nom
join json_each(nom.doc, "$.rate") e
where e.value > 0 and e.value < 7
我希望这是可行的,但它不起作用,我知道json_each返回一个表,我认为使用分组或聚合可以得到我想要的东西,但是我想知道是否有其他方法,我不想依赖聚合,例如,我想检查所有元素是否传递谓词,例如,如果所有元素都大于X,或者我在哪里处理字符串,
我在比较两张桌子时遇到了速度问题。假设我有下面的表格。
表A 14,000条记录
名称(Varchar),join_id(int)
表b 54 209条记录
second_name,join_id(int)
现在,我要查找表A中存在的行,而不是B中的行,这些行是由joint_id随机排列的(某种程度上)。
我尝试了以下几点:
SELECT a.name , b.second_name
FROM a
LEFT OUTER JOIN b ON a.joint_id = b.joint_id
WHERE b.joint_id IS NULL
LIMIT 0,10
如果我运行select * from tableName查询,我会得到以下记录: id Name
1 Lorum
2 Ipsum
3 Dolor
4 Sit
5 Amet 从这些记录中,如果我使用'Dolor‘,那么查询应该只返回带有id3的rest记录,如下所示: id Name
1 Lorum
2 Ipsum
4 Sit
5 Amet 我没有访问表的权限,我既不能删除也不能更新。有没有办法从查询中删除我们正在使用的记录,而只返回未使用的记录? 现在我将介绍如何删除一条记录。比如:select * from tabl
我正在尝试从一个大型数据库导入数据。我有两个表,里面有几十万条记录。我必须在两个表中搜索数据,然后将该记录插入一个新表(第三个表),如果该记录已经存在于第三个表中,那么我必须更新第三个表中的一个列记录。
这听起来很简单,但它需要很长时间才能处理。
以下是示例查询和伪代码:
select * from table1 INNER JOIN table2 USING(id)
search in table 3 ->
if record exist{
update record in table 3 (update counter in a column)
}else{
Inse
我有一个表设计,其中各种实体的“注释”使用关系表进行处理。例如,存在以下表
'notes' table having fields id and note
'knifes' table having as only field an id
'knife_notes' table having knife_id and note_id, being foreign keys to 'id' in knifes table
and notes 'id' in notes table respectively.
更新: