Questions tagged «sql»

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


3
如何找到相似的结果并按相似性排序?
如何查询相似度排序的记录? 例如。搜索“库存溢出”将返回 堆栈溢出 SharePoint溢出 数学溢出 政治溢出 视觉特效溢出 例如。搜索“ LO”将返回: 巴勃罗毕加索 米开朗基罗 杰克逊·波洛克 我需要什么帮助: 使用搜索引擎索引和搜索MySQL表,以获得更好的结果 使用Sphinx搜索引擎和PHP 在PHP中使用Lucene引擎 使用全文索引,查找相似/包含的字符串 什么不好 Levenshtein的距离非常不稳定。(UDF,Query) 搜索“ dog”给我: 狗 沼泽 前 大 回声 LIKE 返回更好的结果,但是长查询没有返回任何结果,尽管确实存在类似的字符串 狗 狗狗 多加拉尔 教条

7
PostgreSQL与MySQL有何不同?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 我被要求支持并使用PostgreSQL应用程序,但是我是MySQL专家-这是现实的任务吗?
68 sql  mysql  postgresql 

11
我可以在T-SQL中遍历表变量吗?
无论如何,在T-SQL中循环遍历表变量吗? DECLARE @table1 TABLE ( col1 int ) INSERT into @table1 SELECT col1 FROM table2 我也使用游标,但是游标似乎没有表变量灵活。 DECLARE cursor1 CURSOR FOR SELECT col1 FROM table2 OPEN cursor1 FETCH NEXT FROM cursor1 我希望能够以与游标相同的方式使用表变量。这样,我可以在过程的一部分中对表变量执行一些查询,然后稍后对表变量中的每一行执行一些代码。 任何帮助是极大的赞赏。

12
使用MySQL和JDBC运行.sql脚本
我开始将MySQL与JDBC一起使用。 Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql:///x", "x", "x"); stmt = conn.createStatement(); stmt.execute( "CREATE TABLE amigos" + "("+ "id int AUTO_INCREMENT not null,"+ "nombre char(20) not null,"+ "primary key(id)" + ")"); 我要创建3-4张桌子,这看起来不太好。 有没有办法从MySQL JDBC运行.sql脚本?
68 java  sql  mysql  jdbc 


2
获取不带表格式的sql查询结果
像--disable-column-namesoption一样,我们是否可以选择不使用表格式的sql查询? 例: mysql -u username -ppassword --disable-column-names --execute "select name from test" 结果如下: ----- | A | | B | | C | | D | ----- 是否可以使用以下某些sql程序选项修饰符来获得查询结果,[没有表格式] A B C D
68 mysql  sql  shell 


8
简化SQL语句的一般规则
我正在寻找一些“推理规则”(类似于设置操作规则或逻辑规则),可以用来减少SQL查询的复杂性或大小。是否存在类似的东西?有论文,有工具吗?您自己发现的任何对等物吗?它在某种程度上类似于查询优化,但在性能方面却不一样。 换种说法:使用JOIN,SUBSELECT和UNION进行(复杂)查询是否有可能(或不能)通过使用一些转换规则将其简化为更简单的等效SQL语句,从而产生相同的结果? 因此,我正在寻找SQL语句的等效转换,例如大多数SUBSELECT都可以重写为JOIN的事实。

1
MATCH AGAINST还是LIKE哪个SQL查询更好?
要在数据库中搜索在任何列“ foo_desc”和“ bar_desc”中同时具有关键字“ foo”和“ bar”的行,我将执行以下操作: SELECT * FROM t1 WHERE MATCH (t1.foo_desc, t2.bar_desc) AGAINST ('+foo* +bar*' IN BOOLEAN MODE) 要么 SELECT * FROM t1 WHERE (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%foo%') AND (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%bar%') 我希望最后一个查询的缺点是性能。 好处是,LIKE查询找到了“ MATGA AGAINST”找不到的“ xxfoo”。 哪一个是首选,还是有更好的解决方案?
67 sql  mysql  database  search 

5
在WHERE子句中使用别名
我有一个查询,该查询旨在向我显示表A中最近更新不够的任何行。(每行应在“ month_no”之后的2个月内更新。): SELECT A.identifier , A.name , TO_NUMBER(DECODE( A.month_no , 1, 200803 , 2, 200804 , 3, 200805 , 4, 200806 , 5, 200807 , 6, 200808 , 7, 200809 , 8, 200810 , 9, 200811 , 10, 200812 , 11, 200701 , 12, 200702 , NULL)) as MONTH_NO , …

5
C#GUID和SQL Uniqueidentifier
我想创建一个GUID并将其存储在数据库中。 在C#中,可以使用Guid.NewGuid()创建一个guid。这将创建一个128位整数。SQL Server有一个uniqueidentifier列,其中包含一个巨大的十六进制数。 有没有一种使C#和SQL Server guid一起正常工作的好/首选方法?(即使用Guid.New()创建一个guid,然后使用nvarchar或其他某些字段将其存储在数据库中……或通过其他方法创建SQL Server期望的十六进制形式的形式)

11
SQL注释标头示例
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 1年前关闭。 改善这个问题 也想看看人们的存储过程/函数等注释标题是什么样子(因此请发布您的示例)...我只真正看到了SQL Server Management Studio创建的内容,但对其他人的样子很感兴趣...格式,使用的字符,过程信息/细节等,我想是真正使它们与众不同的原因... SQL Server Management Studio(版本9)存储过程注释标头默认值: -- ============================================= -- Author: Name -- Create date: -- Description: -- =============================================
67 sql  comments 

6
为什么MySQL允许没有聚合功能的“分组”查询?
惊喜-这是MySQL中完全有效的查询: select X, Y from someTable group by X 如果您在Oracle或SQL Server中尝试了此查询,则会收到自然错误消息: Column 'Y' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. 那么MySQL如何确定每个X显示哪个Y?它只是选择一个。据我所知,它只是选择找到的第一个Y。理由是,如果Y既不是聚合函数也不在group by子句中,则在查询中指定“选择Y”是没有道理的。因此,作为数据库引擎的我将返回我想要的任何东西,而您会喜欢它。 甚至还有一个MySQL配置参数来关闭这种“松散性”。 http://dev.mysql.com/doc/refman/5.7/zh-CN/sql-mode.html#sqlmode_only_full_group_by 这篇文章甚至提到MySQL在这方面被批评为不符合ANSI-SQL。 http://www.oreillynet.com/databases/blog/2007/05/debunking_group_by_myths.html 我的问题是: 为什么MySQL以这种方式设计?他们打破ANSI-SQL的理由是什么?

14
您在SQL Server中做什么以进行创建或更改?
年份为2009,SQL Server没有CREATE或ALTER / REPLACE。这是我要做的。 IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'SynchronizeRemoteCatalog' AND ROUTINE_SCHEMA = 'dbo' AND ROUTINE_TYPE = 'PROCEDURE') EXEC ('DROP PROCEDURE dbo.SynchronizeRemoteCatalog') CREATE PROCEDURE dbo.SynchronizeRemoteCatalog AS BEGIN -- body END 对于触发器,您必须依靠专有的系统视图。 这是目前最被接受的惯例吗? 编辑:正如n8wrl所建议的,官方用词表明此功能不是一个高度优先事项。因此是一个问题。
67 sql  sql-server  tsql 

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.