Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

18
为什么NULL = NULL在SQL Server中评估为false
在SQL Server中,如果 nullParam=NULL在where子句中,则其总值为false。这是违反直觉的,并导致了我很多错误。我确实了解IS NULL和IS NOT NULL关键字是正确的方法。但是,为什么SQL Server会表现这种方式?
146 sql  sql-server  null 


11
“ where”子句中的SQL Switch / Case
我尝试四处搜寻,但找不到任何可以帮助我的东西。 我正在尝试在SQL中执行此操作: declare @locationType varchar(50); declare @locationID int; SELECT column1, column2 FROM viewWhatever WHERE CASE @locationType WHEN 'location' THEN account_location = @locationID WHEN 'area' THEN xxx_location_area = @locationID WHEN 'division' THEN xxx_location_division = @locationID 我知道我不必在每个末尾都添加'= @locationID',但是我什至无法获得接近正确的语法。SQL一直在第一行WHEN上抱怨我的'='... 我怎样才能做到这一点?

4
LATERAL和PostgreSQL中的子查询有什么区别?
由于Postgres具有LATERAL连接的能力,因此我一直在阅读,因为我目前为团队执行复杂的数据转储,其中包含许多效率低下的子查询,使得整个查询需要四分钟或更长时间。 我知道LATERAL联接可能会为我提供帮助,但是即使阅读了Heap Analytics中的此类文章,我仍然不太了解。 联接的用例是LATERAL什么?LATERAL联接和子查询之间有什么区别?

5
选择唯一和选择不同之间的区别
我以为它们是同义词,但是我在Microsoft SQL中写了以下内容: Select Unique col from (select col from table1 union select col from table2) alias 它失败了。更改为 Select Distinct col from (select col from table1 union select col from table2) alias 解决它。有人可以解释吗?
145 sql  sql-server 

12
在SQL Server数据库中使用单行配置表。馊主意?
在开发购物车应用程序时,我发现我需要根据管理员的偏好和要求保存设置和配置。该信息可以是公司信息,运输帐户ID,PayPal API密钥,通知首选项等任何信息。 创建表以在关系数据库系统中存储单行似乎非常不合适。 存储此信息的适当方法是什么? 注意:我的DBMS是SQL Server 2008,并且编程层是使用ASP.NET(在C#中)实现的。

14
如何为用户定义的字段设计数据库?
我的要求是: 需要能够动态添加任何数据类型的用户定义字段 需要能够快速查询UDF 需要能够基于数据类型对UDF进行计算 需要能够根据数据类型对UDF进行排序 其他资讯: 我主要是在寻找性能 有几百万个主记录可以附加UDF数据 当我上次检查时,当前数据库中有超过5000万个UDF记录 在大多数情况下,UDF仅附加到几千个主记录中,而并非全部 UDF未加入或用作键。它们只是用于查询或报告的数据 选项: 创建一个包含StringValue1,StringValue2 ... IntValue1,IntValue2等的大表。 创建一个动态表,根据需要添加一个新列。我也不喜欢这个主意,因为除非您索引每个列,否则我认为性能会很慢。 创建一个包含UDFName,UDFDataType和Value的表。添加新的UDF时,生成一个View,该View仅提取该数据并将其解析为指定的任何类型。不符合解析条件的项目将返回NULL。 创建多个UDF表,每种数据类型一个。因此,我们会有用于UDFStrings,UDFDates等的表。可能会与#2相同,并在添加新字段时自动生成View。 XML数据类型?我以前没有处理过这些,但是看到了它们的提及。不知道他们是否会给我我想要的结果,尤其是在性能方面。 还有吗


1
使用Esqueleto处理列表类型
我将数据类型定义为: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } 现在,就目前而言,我有一个持久模型定义为: Person name Text Committee name Text CommitteePerson personId PersonId committeeId CommitteeId 我可以很容易地使用Esqueleto创建一个查询来填充CommitteeView。它会像这样: getCommitteeView cid = CommitteeView <$> runDB $ select $ from (person `InnerJoin` pxc `InnerJoin` …
144 sql  list  haskell  esqueleto 

9
在SQL Select语句上返回布尔值
如何在SQL Select语句上返回布尔值? 我尝试了这段代码: SELECT CAST(1 AS BIT) AS Expr1 FROM [User] WHERE (UserID = 20070022) 而且它只返回TRUE如果UserID表中存在。FALSE如果UserID表上不存在它,我希望它返回。
144 sql  select  boolean 

9
NoSQL用例[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 最近,NoSQL在我们的行业中引起了很多关注。我对人们在关系数据库存储上使用最佳用例的想法非常感兴趣。是什么促使开发人员认为特定的数据集更适合NoSQL解决方案。我对MongoDB和CouchDB特别感兴趣,因为它们似乎在PHP开发方面获得了最多的报道,这是我的重点。

9
MySQL喜欢多个值
我有这个MySQL查询。 我有与此内容相关的数据库字段 sports,shopping,pool,pc,games shopping,pool,pc,games sports,pub,swimming, pool, pc, games 为什么这样的查询不起作用?我需要体育或酒吧或两者兼有的领域吗? SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
144 mysql  sql  sql-like 


8
使用查询将数据插入临时表
我有一个输出当前数据的现有查询,我想将其插入到Temp表中,但是这样做有一些问题。有人会对如何执行此操作有一些见解吗? 这是一个例子 SELECT * FROM (SELECT Received, Total, Answer, ( CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END ) AS application FROM FirstTable WHERE Recieved = 1 AND application = 'MORESTUFF' GROUP BY CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END) data WHERE application LIKE isNull('%MORESTUFF%', '%') 这似乎当前以我需要的方式输出我的数据,但我想将其传递到临时表中。我的问题是我对SQL查询还很陌生,还无法找到一种方法。或者,即使有可能。如果不可能,是否有更好的方法将我要查找的数据获取WHERE application LIKE …
144 sql  sql-server  ssms 

5
Oracle SELECT TOP 10记录
我在Oracle中使用SQL语句遇到了很大的问题。我想选择STORAGE_DB排序的前10条记录,这些记录不在其他select语句的列表中。 此记录适用于所有记录: SELECT DISTINCT APP_ID, NAME, STORAGE_GB, HISTORY_CREATED, TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') AS HISTORY_DATE FROM HISTORY WHERE STORAGE_GB IS NOT NULL AND APP_ID NOT IN (SELECT APP_ID FROM HISTORY WHERE TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') = '06.02.2009') 但是当我添加 AND ROWNUM <= 10 ORDER BY STORAGE_GB DESC 我正在获取某种“随机”记录。我认为是因为限价是在下订单之前进行的。 有人有好的解决方案吗?另一个问题:此查询的速度非常慢(超过10k条记录)
144 sql  oracle  top-n 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.