这只是一个简短的问题,以获得更多关于SQL工作方式的知识。
如果我有一个带有多个where条件的查询,例如,第二个语句是false,那么查询中第二个语句之后的其余语句是否仍将被计算,还是SQL在此时跳过并再次从下一行开始?
示例:
SELECT * FROM MY_TABLE
WHERE NAME = "PETER"
AND LANGUAGE = "ENGLISH"
AND COUNTRY = "UK"
AND ENCRYPTION = "SHA-1";
我们的数据库如下所示:
| NAME | LAN
使用Server 2014并尝试优化查询。其中一部分是做表格扫描。我把这个问题归结为最简单的形式。
表中有一个字段(第三方产品的DB),它没有索引,也没有PK。我们经常搜索该字段(Form_FKey)
SELECT load_ID FROM [dbo].[tblLoads]
WHERE [Form_FKey] = '87F13E42-B11D-413B-AEBC-A58E4CDB9D3E'
执行计划建议如下:
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]
ON [dbo].[tblLoa
我试图根据行值从数据库中检索数据,
select * from MY_TABLE WHERE ROWNUM = 4
它只在rownum =1时给出结果,否则为空。尽管我确信我的表有更多的行!
name age
-------- -------- -------
1 Joe 10
2 Leo 3
3 Adam 9
例如,上面的表--我只能得到joe的信息--说虽然rownum = 1,但其他表没有给出结果
数据库中有两个表,其结构如下:
表1: 3行- category_id、product_id和位置
表2: 3行- category_id、product_id和位置
我试图将表1位置设置为表2位置,其中类别和产品id与表中的id相同。
下面是我试图实现的sql,但返回MySQL错误1242 -子查询返回超过1行。
UPDATE table1
SET position = (
SELECT position
FROM table2
WHERE table1.product_id = table2.product_id AND table1.category_id
问题
我有一个大约200万行( 115 MB)的表,它即将变得更大。当在表上运行一些实用程序脚本时,我注意到我的一个查询花费了很长时间(15+秒),而一个几乎相同的查询用了不到半秒的时间。以下是查询:
查询1:
SELECT `id` FROM `my_table` WHERE `my_column`='test' ORDER BY `id` LIMIT 28000, 1000
Execution time: 0.204 seconds
查询2:
SELECT `id` FROM `my_table` WHERE `my_column`='test' ORDER
假设我有一个产品数据库,其中大约有50,000种产品向后端系统和网站提供数据,有些是实时的,有些是存档的,还有一些是“关闭”的(因为某种原因只能在后端管理中使用)。
对该网站的查询可能如下所示:
SELECT name, category, price FROM products WHERE category=‘1234’
(显然非常简化)
现在,如前所述,我只想要那些没有存档,并切换到显示在网站上。
SELECT name, category, price FROM products WHERE category=‘1234’ AND display=true AND archived=fa
是否可以检索SQL query中特定行的特定列?
假设我从名为SQL的my_table表中选择名称为: a,b的行,使用以下查询文本:
"select * from my_table where row_names in ('a', 'b') order by row_names"
如何修改此查询文本,使其只选择列2、12、22、32、42,而不是其所有的1000列?
我对给定结果集的一些查询有问题,在某些条件下,我需要从表中选择较不详细的行。
在联合返回这个表之后,我有三个选择
SELECT A_ID, B_ID, 1 FROM MY_TABLE JOIN MY_TABLE2 ON SPECIFIC CONDITION FOR LEVEL 1
UNION
SELECT A_ID, B_ID, 2 FROM MY_TABLE JOIN MY_TABLE2 ON SPECIFIC CONDITION FOR LEVEL 2
UNION
SELECT A_ID, B_ID, 3 FROM MY_TABLE JOIN MY_TABLE2 ON SPECIFIC C
我的windows phone应用程序中有一个数据库。我需要从一个表中选择一些行。我需要在查询中应用多个Where条件。我该如何编写这样的查询呢?
我的表包含用户名、DocumentId、FileType、FileLocation、FileSize等。
我需要使用Username、DocumentId和FileType选择行。如何为它编写查询?
现在我使用以下代码:
using (DocumentDataContext DocDb = new DocumentDataContext(strConnectionString))
{
IQueryable<Document> D
我有下面的表结构。
现在我使用以下查询
SELECT DATE(date),SUM(amount) FROM my_table WHERE type!=5
AND date BETWEEN '2014-01-01' AND '2014-01-04'
GROUP BY DATE(date) ORDER BY date DESC
这个查询是在我的开发数据库上进行的,它只有少量的行。但是这对于prod数据库来说是非常慢的,并且几乎需要9秒来显示一周的值。我有date和type索引,explain查询将type显示为all。prod DB在那里几乎有700000个条
Hi all!我从一个文件中读取数据,然后用它在PG中进行查询。该文件包含大量的行,这些行是记录的唯一字段(而不是键)。
我需要从文件中读取,从数据库中提取平均500 k的记录
当在in请求中循环读取5000多个值时,读取速度非常慢。
我使用的请求的一个简单示例:
SELECT * FROM schema.table WHERE table.param IN ('p1', 'p2','more'.....)
是否有更正确的方法在我的条件下读取如此数量的数据?
谢谢你的回答
我读到JDBC对IN子句有一个较短的大小限制,否则会引发异常。
我在数据库上有一个全文搜索,其中的WHERE条件检查搜索结果是否存在于另一个表中。该查询需要超过1小时才能完成(companies表有67k行,employees表有82k行)。
期望结果:只有当我们在表B中有该公司的员工数据时,才能获得表A中“公司ABC”的搜索结果。
我的查询是:
SELECT *,
MATCH (name, keywords, description) AGAINST ('+searchKeyword*') as relevance,
(SELECT COUNT(customerID) FROM customers WHER