Tag: sql server

SQL JOIN与IN性能?

我有一个情况,使用JOIN或IN会给我正确的结果…通常有更好的性能,为什么? 多less取决于你正在运行的数据库服务器? (FYI我正在使用MSSQL)

我如何确定安装的SQL Server实例及其版本?

我试图确定我已经安装(手动或编程)的sql server / sql express的实例,但所有的例子告诉我运行一个SQL查询来确定这假设我已经连接到一个特定的实例。

在SQL Server Management Studio 2012中自动增加主键

如何自动增加SQL Server数据库表中的主键,我已经通过论坛,但看不到如何。 我看过的属性,但看不到一个选项,我已经看到了一个答案,你去的身份规范属性,并将其设置为是,并将身份增量设置为1,但该部分是灰色的,我可以不会将“否”更改为“是”。 必须有一个简单的方法来做到这一点,但我找不到它。

我如何截断SQL Server中的date时间?

在SQL Server 2008中截断date时间值的最佳方法是什么(以消除小时和分钟)? 例如: declare @SomeDate datetime = '2009-05-28 16:30:22' select trunc_date(@SomeDate) ———————– 2009-05-28 00:00:00.000

我怎样才能从SQL Server中的表中获取列名?

我想查询一个表的所有列的名称。 我发现如何做到这一点: 神谕 MySQL的 PostgreSQL的 但是我需要知道: 如何在Microsoft SQL Server (2008在我的情况下)这样做呢?

如何使用SQL查询创build逗号分隔列表?

我有3个表称为: 应用程序(ID,名称) 资源(id,名称) ApplicationsResources(id,app_id,resource_id) 我想在GUI上显示所有资源名称的表格。 在每一行中的一个单元格中,我想列出所有的资源的应用程序(以逗号分隔)。 所以问题是,在SQL中这样做的最好方法是什么,因为我需要获取所有资源,并且还需要获取每个资源的所有应用程序? 我是否首先从资源运行select *,然后循环遍历每个资源,并对每个资源执行单独的查询以获取该资源的应用程序列表? 有一种方法,我可以在一个查询中做到这一点?

如何在LIKE子句中转义方括号?

我正在尝试使用类似的过滤存储过程的项目。 该列是一个varchar(15)。 我试图过滤的项目在名称中有方括号。 例如: WC[R]S123456 。 如果我做一个LIKE 'WC[R]S123456'它不会返回任何东西。 我发现一些关于在LIKE使用ESCAPE关键字的信息,但我不明白如何使用它将方括号视为常规string。

SQL Server 2008中的CROSS JOIN和INNER JOIN

CROSS JOIN和INNER JOIN和有什么不一样? 交叉连接: SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status], FROM Customers CROSS JOIN Movies 内部联接: SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status] FROM Customers INNER JOIN Movies ON Customers.CustomerID = Movies.CustomerID 哪一个更好,为什么我会使用其中之一?

使用存在1或存在的子查询*

我曾经写这样的EXISTS检查: IF EXISTS (SELECT * FROM TABLE WHERE Columns=@Filters) BEGIN UPDATE TABLE SET ColumnsX=ValuesX WHERE Where Columns=@Filters END 在以前的DBA的一个人告诉我,当我做一个EXISTS子句,使用SELECT 1而不是SELECT * IF EXISTS (SELECT 1 FROM TABLE WHERE Columns=@Filters) BEGIN UPDATE TABLE SET ColumnsX=ValuesX WHERE Columns=@Filters END 这是否真的有所作为?

从SQL Server表中selectn个随机行

我有一个约50000行的SQL Server表。 我想随机select大约5000行。 我想到了一个复杂的方法,用“随机数”列创build临时表,将表复制到那个表中,循环遍历临时表,并用RAND()更新每一行,然后从该表中select随机数列<0.1。 我正在寻找一个简单的方法来做到这一点,如果可能的话,在一个单一的声明。 本文build议使用NEWID()函数。 这看起来很有希望,但我看不出我如何可靠地select一定比例的行。 有人曾经这样做过? 有任何想法吗?