我在查询中有一些东西我必须编辑,我不明白。
连接的表有4个:票证、任务、tickets_users、用户。整个查询并不重要,但在文章末尾有一个示例。困扰我的是,这种代码在其他表中多次使用:
(SELECT name
FROM users
WHERE users.id=tickets_users.users_id
) AS RequesterName,
这是一个包含用户和tickets_users连接的表的子查询吗?这是什么?
WHERE users.id=tickets_users.users_id
如果这是一种加入,我会预料到:
ON users.id = tickets_users.use
我有这样的子查询。基本上,我使用了多个分离的条件来形成多个子查询。
SELECT
this_.id AS y0_,
this_.a AS y1_,
this_.b AS y2_,
this_.c AS y3_,
this_.d AS y4_,
this_.e AS y5_
FROM
table_a this_
WHERE
this_.id IN (
SELECT
this_.a AS y0_
我正在做一个包含mysql数据库的项目。
我想要创建一个视图,使查询更加容易。但我有麻烦了。由于视图中使用的表包含大约100.000行,而且我要连接其中的四行,所以视图必须使用合并算法。但根据
如果视图包含以下任何结构,则无法使用合并:
聚合函数(SUM()、MIN()、MAX()、COUNT()等)
分异
按组
有
限制
工会或工会
选择列表中的子查询
只引用文字值(在本例中,没有底层表)
那么,如果已经存在某种东西,我将如何插入查找
EXIST( SELECT id FROM table WHERE col > val) AS flag
我开始学习SQL。我发现,我们通常可以通过连接或内部选择语句实现相同的结果。
Question1 (广义):连接比内部选择更快的,反之亦然?
Question2 (窄):,您能解释一下是什么导致了下面三个查询的性能差异吗?
P.S.有计算查询性能的,但是我不能理解它估计结果。
Query1:
SELECT DISTINCT maker
FROM Product pro INNER JOIN Printer pri
on pro.model = pri.model
Query2:
SELECT DISTINCT maker
FROM Product
WHERE model IN (
SE
我正在shell中运行这个查询,但是它给了我错误,
sqlContext.sql(
"select sal from samplecsv where sal < (select MAX(sal) from samplecsv)"
).collect().foreach(println)
错误:
java.lang.RuntimeException: 1.47失败:)预期的,但是标识符MAX找到了
从samplecsv中选择sal <(从samplecsv中选择MAX( sal ) )^ at scala.sys.package$.error(package.sc
假设我问的是相关子查询的一小部分可能用法...
我正在使用一个供应商产品,它使用了很多相关子查询。我的任务是修改查询,使其满足我们的业务需求。供应商的查询似乎过于复杂,难以维护。
一个简单的例子..。
select e.EmployeeLastName
, e.EmployeeFirstName
, e.EmployeeRecordEffectiveDate
, e.EmployeeRecordEndDate
from Employee e
where e.EmployeeLastName like 'a%'
and exists (
select 1
我刚开始使用sql.I,我有两个连接的表,它是posts、表格、帖子和注释,我使用的是MySql。
Post :
id, UserName, Phone , product
Comments:
id , CommentText, post_id
我正在使用联接查询来加入他们
SELECT t1.UserName , t1.Phone, t2.Comments
FROM table1 AS t1
LEFT JOIN table2 AS t2 ON (t1.id = t2.follow_id )
现在我需要显示所有唯一的用户和他们最后的评论,所以他们看起来像这样
1. User1 Las
我正在刷新我的SQL。
我读到了关于子查询和使用相关子查询引用外部的可能性。
示例:
SELECT *
FROM ORDERS O
WHERE 'ROAD BIKE' =
(SELECT DESCRIPTION FROM PART P WHERE P.PARTNUM = O.PARTNUM)
这相当于join:
SELECT O.ORDEREDON, O.NAME,
O.PARTNUM, O.QUANTITY, O.REMARKS
FROM ORDERS O, PART P
WHERE P.PARTNUM = O.PARTNUM AND P.DESC
我有两个表Person_Organization和Person_Organization_other,嵌套查询是:
SELECT
Person_Organization_id
FROM
Person_Organization_other
WHERE
company_name IN (SELECT company_name
FROM Person_Organization_other
WHERE Person_Organization_id IN (SELECT Person_Or
在Postgres 12中,我有一个表purchase_orders和一个items表。我正在运行一个查询,该查询返回给定shop的PO和每个PO上订购的项目之和:
SELECT po.id,
SUM(grouped_items.total_quantity) AS total_quantity
FROM purchase_orders po
LEFT JOIN (
SELECT purchase_order_id,
SUM(quantity) AS total_quantity
FROM items
GROUP BY purchase_order_id
)
我经常发现自己想要编写一个SQL查询,如下所示:
SELECT body
FROM node_revisions
where vid = (SELECT vid
FROM node
WHERE nid = 4);
我知道有一些连接和东西你可以做,但它们似乎使事情变得更加复杂。连接是一种更好的方式吗?它是不是更高效?更容易理解?
我正在运行一个SQL查询,并试图将结果分解为块。
select task_id, owner_cnum
from (select row_number() over(order by owner_cnum, task_id)
as this_row, wdpt.vtasks.*
from wdpt.vtasks)
where this_row between 1 and 5;
该SQL在Windows和Linux上使用DB2 10.5,但在z/OS上的DB2 10.1上失败,错误消息如下:
当我在连接到数据库的Da
我遇到的情况是,数据库表中有数十万行,假设有8列,其中前两列被索引(每个列有两个索引,两个列都有一个复合索引),还有两个SQL查询,其中group和union类似:
SELECT MIN(columnOne), columnTwo FROM MyTable
WHERE columnTwo IN (1,2,3)
GROUP BY columnTwo
和
SELECT MIN(columnOne), columnTwo FROM MyTable WHERE columnTwo = 1
UNION
SELECT MIN(columnOne), columnTwo FROM MyTable WHERE
我有一个无法使用Zend_Db_Select构建的查询
SELECT `f`.*,
(SELECT Sum(x) AS `y`
FROM z AS pf
WHERE pf.q_id = f.id) AS w
FROM f ...
WHERE ...
GROUP BY `f`.`id`
所以现在我手动运行它,$db->fetchAll($sql)。
我如何获得
select f.* , (select ...) as `something` from ...
我在考虑使用->column('f.
我不确定为什么,但当我按照示例(来自ms sql服务器中的northwind数据库)通过键入如下所示的代码在Microsoft SQL Server Management Studio 2008上执行子查询时,
Select Orders.OrderID,
(Select Customers.CompanyName
From Customers
Where Customers.CustomerID = Orders.CustomerID) As Company Name
From Orders,
Customers
一个看似通用的SQL查询确实让我不知所措。情况就是这样。我有3个通用表(这里的简化版本):
Movie
id | title
-----------------------
1 | Evil Dead
-----------------------
2 | Bohemian Rhapsody
....
Genre
id | title
-----------------------
1 | Horror
-----------------------
2 | Comedy
....
Rating
id | title
-----------------------
1 |
这一直困扰着我,为什么这个查询
SELECT
*
FROM
`TABLE`
WHERE `value` IN
(SELECT
val
FROM
OTHER_TABLE
WHERE `date` < '2014-01-01')
与顺序运行这两个查询相比,运行速度慢几个数量级
SELECT
`val`
FROM
OTHER_TABLE
WHERE `date` < '2014-01-01'
Result:
+----+
| val |
+-----+
| v1 |
| v2 |
|
我有一些SQL,它调用一个存储过程,并从不同的用户返回许多行。每一行都有一个金额,我希望将每个用户这些金额的总和放到另一个select查询中。
所以查询得到的金额;
Declare @tempUserPurchases table(
Email nvarchar(50), Amount money
)
-- get all the data into the temp table.
insert into @tempUserPurchases
exec stpGetUserPurchases @CompanyId = 312546
因此,上面的每个成员都会生成几条记录,每条记