Questions tagged «sql»

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

15
为什么SELECT *被认为有害?
为什么是SELECT *坏习惯?如果添加了想要的新列,这是否意味着更少的代码更改? 我知道这SELECT COUNT(*)在某些数据库上是性能问题,但是如果您真的想要每一列怎么办?
256 sql  database 

11
SQL左联接与FROM行上的多个表?
大多数SQL方言都接受以下两个查询: SELECT a.foo, b.foo FROM a, b WHERE a.x = b.x SELECT a.foo, b.foo FROM a LEFT JOIN b ON a.x = b.x 现在显然当您需要外部联接时,需要第二种语法。但是,在进行内部联接时,为什么我应该首选第二种语法(反之亦然)?
256 sql  syntax  join 


6
Oracle“分区依据”关键字
有人可以解释一下partition by关键字的作用,并给出一个简单的示例,以及为什么要使用它吗?我有一个别人写的SQL查询,我试图弄清楚它的作用。 通过以下方式进行分区的示例: SELECT empno, deptno, COUNT(*) OVER (PARTITION BY deptno) DEPT_COUNT FROM emp 我在网上看到的示例似乎过于深入。





7
Oracle SQL:使用另一个表中的数据更新表
表格1: id name desc ----------------------- 1 a abc 2 b def 3 c adf 表2: id name desc ----------------------- 1 x 123 2 y 345 在oracle SQL中,如何运行sql更新查询,该查询可以使用表2 name并desc使用表2来更新表1 id?所以我得到的最终结果是 表格1: id name desc ----------------------- 1 x 123 2 y 345 3 c adf 问题取自用另一个表中的数据更新一个表,但专门针对oracle SQL。
251 sql  oracle  sql-update 

4
使用空列创建唯一约束
我有一个具有这种布局的表: CREATE TABLE Favorites ( FavoriteId uuid NOT NULL PRIMARY KEY, UserId uuid NOT NULL, RecipeId uuid NOT NULL, MenuId uuid ) 我想创建一个类似于以下的唯一约束: ALTER TABLE Favorites ADD CONSTRAINT Favorites_UniqueFavorite UNIQUE(UserId, MenuId, RecipeId); 但是,这将允许多行具有相同的(UserId, RecipeId)if MenuId IS NULL。我想允许NULL在MenuId存储不具有关联菜单中的最爱,但我只希望每个用户/食谱对这些行中最多只有一个。 到目前为止,我的想法是: 使用一些硬编码的UUID(例如全零)而不是null。 但是,MenuId每个用户的菜单都有FK约束,因此我不得不为每个用户创建一个特殊的“空”菜单,这很麻烦。 而是使用触发器检查是否存在空条目。 我认为这很麻烦,我喜欢尽可能避免触发事件。另外,我不信任他们以确保我的数据永远不会处于错误状态。 只需忘记它,然后检查中间件或插入函数中以前是否存在空条目,并且没有此约束。 我正在使用Postgres 9.0。 我有什么方法可以忽略吗?


8
MySQL如何处理查询中的ORDER BY和LIMIT?
我有一个查询,看起来像这样: SELECT article FROM table1 ORDER BY publish_date LIMIT 20 ORDER BY如何运作?它会排序所有记录,然后获取前20条记录,还是会获取20条记录并按publish_date字段排序? 如果是最后一篇,则不能保证您会真正获得最新的20篇文章。

10
如何在存储过程中使用DbContext.Database.SqlQuery <TElement>(sql,params)?EF代码优先CTP5
我有一个具有三个参数的存储过程,并且我一直在尝试使用以下命令返回结果: context.Database.SqlQuery&lt;myEntityType&gt;("mySpName", param1, param2, param3); 最初,我尝试使用SqlParameter对象作为参数,但这没有用,并向其SqlException显示以下消息: 过程或函数“ mySpName”需要未提供的参数“ @ param1”。 所以我的问题是,如何在需要参数的存储过程中使用此方法? 谢谢。

7
从PostgreSQL的时间戳中提取日期(yyyy / mm / dd)
我只想从PostgreSQL的时间戳中提取日期部分。 我需要它是一个postgresql DATE类型,因此我可以将它插入另一个需要DATE值的表中。 例如,如果我有2011/05/26 09:00:00,我想要2011/05/26 我尝试过投放,但只得到2011年: timestamp:date cast(timestamp as date) 我尝试to_char()了to_date(): SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD') FROM val3 WHERE id=1; 我试图使其功能: CREATE OR REPLACE FUNCTION testing() RETURNS void AS ' DECLARE i_date DATE; BEGIN SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD") INTO i_date FROM exampTable WHERE id=1; INSERT INTO foo(testd) VALUES (i); END 从PostgreSQL的时间戳中提取日期(yyyy / …

14
错误,尝试插入时字符串或二进制数据将被截断
我正在运行以下行的data.bat文件: Rem Tis batch file will populate tables cd\program files\Microsoft SQL Server\MSSQL osql -U sa -P Password -d MyBusiness -i c:\data.sql data.sql文件的内容为: insert Customers (CustomerID, CompanyName, Phone) Values('101','Southwinds','19126602729') 还有8条相似的行用于添加记录。 当我跑这跟start&gt; run&gt; cmd&gt; c:\data.bat,我收到此错误信息: 1&gt;2&gt;3&gt;4&gt;5&gt;....&lt;1 row affected&gt; Msg 8152, Level 16, State 4, Server SP1001, Line 1 string or binary data …
250 sql  sql-server 

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.