Tag: sql

左,右,外和内连接有什么区别?

我想知道如何区分所有这些不同的联接…

SELECT或INSERT在一个容易出现竞争条件的函数中?

我写了一个函数来创建一个简单的博客引擎的帖子: CREATE FUNCTION CreatePost(VARCHAR, TEXT, VARCHAR[]) RETURNS INTEGER AS $$ DECLARE InsertedPostId INTEGER; TagName VARCHAR; BEGIN INSERT INTO Posts (Title, Body) VALUES ($1, $2) RETURNING Id INTO InsertedPostId; FOREACH TagName IN ARRAY $3 LOOP DECLARE InsertedTagId INTEGER; BEGIN — I am concerned about this part. BEGIN INSERT INTO Tags (Name) VALUES (TagName) RETURNING Id INTO […]

SQL到LINQ工具

有没有可以将SQL语法转换为LINQ语法的工具? 我只是想用LINQ来加入基本查询等。 这会节省我很多时间。

在Sql Server中计算中位数的函数

根据MSDN ,Median在Transact-Sql中不可用作为聚合函数。 但是,我想知道是否有可能创建此功能(使用创建聚合函数,用户定义函数或其他方法)。 什么是最好的方法(如果可能)做到这一点 – 允许在一个聚合查询中计算一个中值(假设一个数字数据类型)?

如何加快PostgreSQL中的插入性能

我正在测试Postgres插入性能。 我有一个表格,其中一列的数字作为其数据类型。 还有一个索引。 我用这个查询填充数据库: insert into aNumber (id) values (564),(43536),(34560) … 我用上面的查询一次很快地插入了4百万行。 数据库达到600万行之后,性能每15分钟急剧下降到100万行。 是否有任何技巧来提高插入性能? 我需要这个项目的最佳插入性能。 在具有5 GB RAM的计算机上使用Windows 7 Pro。

我应该什么时候使用交叉申请内部加入?

使用CROSS APPLY的主要目的是什么? 我已经阅读(隐约地通过互联网上的帖子),如果您正在进行分区,那么在选择大数据集时, cross apply可以更有效。 (寻呼想到) 我也知道CROSS APPLY 不需要UDF作为右表。 在大多数INNER JOIN查询(一对多关系)中,我可以重写它们来使用CROSS APPLY ,但是它们总是给我等同的执行计划。 任何人都可以给我一个很好的例子,当CROSS APPLY在INNER JOIN也能工作的情况下INNER JOIN吗? 编辑: 这是一个简单的例子,执行计划是完全一样的。 (给我看一个他们不同的地方, cross apply地方是更快/更有效率) create table Company ( companyId int identity(1,1) , companyName varchar(100) , zipcode varchar(10) , constraint PK_Company primary key (companyId) ) GO create table Person ( personId int identity(1,1) , personName varchar(100) , companyId […]

自动递增SQL函数

使用Postgres,我试图使用AUTO_INCREMENT在SQL中自动为我的主键编号。 但是,它给了我一个错误。 CREATE TABLE Staff ( ID INTEGER NOT NULL AUTO_INCREMENT, Name VARCHAR(40) NOT NULL, PRIMARY KEY (ID) ); 错误: ********** Error ********** ERROR: syntax error at or near "AUTO_INCREMENT" SQL state: 42601 Character: 63 任何想法为什么?

使用CASE和GROUP BY进行动态替代

我有一个如下所示的表格: id feh bar 1 10 A 2 20 A 3 3 B 4 4 B 5 5 C 6 6 D 7 7 D 8 8 D 我希望它看起来像这样: bar val1 val2 val3 A 10 20 B 3 4 C 5 D 6 7 8 我有这样的查询: SELECT bar, MAX(CASE WHEN abc."row" = 1 THEN feh […]

我怎样才能使MySQL的大小写敏感字符串比较MySQL?

我有一个返回五个字符混合大小写的函数。 如果我对这个字符串进行查询,它会返回值而不管大小写。 我如何使MySQL字符串查询区分大小写?

用于Java的SQL解析器库

有没有一个开源的Java库来解析SQL语句? 如果可能的话,它应该是可定制的或足够灵活的,以便能够解析(或至少忽略)特定于供应商的语法(例如Oracle表空间定义或MySQL的LIMIT子句)。 如果没有,严格遵守SQL标准也没有问题。 更新:我需要这两件事情: 为非SQL数据库提供SQL接口(映射到内部API调用) 在写入实际数据库之前重写SQL(例如Oracle)