小编mwi*_*ahl的帖子

Left,Right,Outer和Inner Joins有什么区别?

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

sql database join

545
推荐指数
7
解决办法
37万
查看次数

T-SQL:选择要通过连接删除的行

场景:

假设我有两个表,TableA和TableB.TableB的主键是单列(BId),是TableA中的外键列.

在我的情况下,我想删除TableA中与TableB中的特定行链接的所有行:我可以通过连接执行此操作吗?删除从连接中提取的所有行?

DELETE FROM TableA 
FROM
   TableA a
   INNER JOIN TableB b
      ON b.BId = a.BId
      AND [my filter condition]
Run Code Online (Sandbox Code Playgroud)

或者我被迫这样做:

DELETE FROM TableA
WHERE
   BId IN (SELECT BId FROM TableB WHERE [my filter condition])
Run Code Online (Sandbox Code Playgroud)

我问的原因是在我看来,在处理较大的表时,第一个选项会更有效.

谢谢!

t-sql join

486
推荐指数
5
解决办法
39万
查看次数

T-SQL中的睡眠命令?

有没有办法写一个T-SQL命令让它睡一段时间?我正在异步编写Web服务,我希望能够运行一些测试,看看异步模式是否真的会使它更具可伸缩性.为了"模拟"一个缓慢的外部服务,我希望能够使用运行缓慢的脚本调用SQL服务器,但实际上并没有处理大量的东西.

t-sql sql-server sleep asynchronous

353
推荐指数
3
解决办法
20万
查看次数

SQL select join:是否可以将所有列添加为'prefix.*'?

我想知道这在SQL中是否可行.假设您有两个表A和B,并在表A上执行选择并在表B上进行连接:

SELECT a.*, b.* FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)

如果表A包含列'a_id','name'和'some_id',而表B包含'b_id','name'和'some_id',则查询将返回列'a_id','name','some_id ','b_id','name','some_id'.有没有办法为表B的列名添加前缀而不单独列出每一列?相当于:

SELECT a.*, b.b_id as 'b.b_id', b.name as 'b.name', b.some_id as 'b.some_id'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)

但是,如上所述,没有列出每一列,所以类似于:

SELECT a.*, b.* as 'b.*'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)

基本上可以说,"b.*返回的每一列都带有'某事'".这可能还是我运气不好?

在此先感谢您的帮助!

编辑:不使用SELECT*等建议是有效的建议,但在我的上下文中不相关,所以请坚持手头的问题 - 是否可以添加前缀(SQL查询中指定的常量)给所有连接中表的列名?

编辑:我的最终目标是能够在两个带连接的表上执行SELECT*,并且能够从我在结果集中获得的列的名称中说明哪些列来自表A以及哪些列来自哪些列从表B.再次,我不想单独列出列,我需要能够做一个SELECT*.

sql join

189
推荐指数
9
解决办法
13万
查看次数

Linq to Sql:多个左外连接

我在使用LINQ to SQL找出如何使用多个左外连接时遇到了一些麻烦.我理解如何使用一个左外连接.我正在使用VB.NET.下面是我的SQL语法.

T-SQL

SELECT
    o.OrderNumber,
    v.VendorName,
    s.StatusName
FROM
    Orders o
LEFT OUTER JOIN Vendors v ON
    v.Id = o.VendorId
LEFT OUTER JOIN Status s ON
    s.Id = o.StatusId
WHERE
    o.OrderNumber >= 100000 AND
    o.OrderNumber <= 200000
Run Code Online (Sandbox Code Playgroud)

t-sql linq vb.net left-join linq-to-sql

159
推荐指数
4
解决办法
10万
查看次数

115
推荐指数
5
解决办法
5万
查看次数

何时使用STRAIGHT_JOIN与MySQL

我刚刚处理了一个相当复杂的查询,并且需要8秒才能运行.EXPLAIN显示了一个奇怪的表顺序,即使使用FORCE INDEX提示我的索引也没有被使用.我遇到了STRAIGHT_JOIN join关键字并开始用它替换我的一些INNER JOIN关键字.我注意到速度提升了很多.最后我用STRAIGHT_JOIN替换了所有我的INNER JOIN关键字用于此查询,它现在在.01秒内运行.

我的问题是你什么时候使用STRAIGHT_JOIN,什么时候使用INNER JOIN?如果您正在撰写好的查询,是否有任何理由不使用STRAIGHT_JOIN?

mysql join

84
推荐指数
7
解决办法
5万
查看次数

在数据库中搜索并替换部分字符串

我需要替换所有iframe标记,在我的数据库中存储为nvarchar.我可以使用以下sql-question找到条目:

SELECT * FROM databasename..VersionedFields WHERE Value LIKE '%<iframe%'
Run Code Online (Sandbox Code Playgroud)

假设我想替换以下代码段:

code before iframe <iframe src="yadayada"> </iframe> code after iframe
Run Code Online (Sandbox Code Playgroud)

有了这个:

code before iframe <a>iframe src="yadayada"</a> code after iframe
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

67
推荐指数
3
解决办法
15万
查看次数

39
推荐指数
3
解决办法
9万
查看次数

SQL连接与单表:性能差异?

我试图坚持保持数据库规范化的做法,但这导致需要运行多个连接查询.如果许多查询使用连接而不是调用可能包含冗余数据的单个表,是否会降低性能?

sql join normalization

25
推荐指数
2
解决办法
1万
查看次数