当前位置: 首页 > 面试题库 >

在SQL Server 2000中,此操作数(* = star-equals)是什么?

洪浩波
2023-03-14
问题内容

我有一个查询,我从ms sql 2000中提取并插入到MySql查询中。它不起作用,MySql将使*
=运算符阻塞。在此示例中,我有两个名为person_name的varchar列。

SELECT * FROM tbl1 a, tbl2 b 
WHERE a.id = b.id
AND a.person_name *= b.person_name

我知道其他语言的myInt * = myTotal也可以读作myInt * myInt =
myTotal。但是,我正在使用包含所有字符,没有整数的varchars。我写出来像:

AND a.person_name * a.person_name = b.person_name

瞧!它似乎起作用了。有人可以解释发生了什么吗?* =运算符是将char转换为等效的整数还是?为什么我在网络上的任何地方都找不到该运算符?


问题答案:

在SQL 2000中,它被用作LEFT OUTER JOIN

= *是正确的外部联接

您的查询可能是:

SELECT 
  * 
FROM 
  tbl1 a LEFT OUTER JOIN tbl2 b ON a.person_name = b.person_name
WHERE 
  a.id = b.id

如前所述这里:

使用非标准产品特定的语法和WHERE子句指定外部联接。 =运算符用于指定左外部联接,而= 运算符用于指定右外部联接。



 类似资料:
  • 问题内容: 在以下方法定义中,和*做param2什么? def foo(param1, param2): def bar(param1, *param2): 问题答案: 和是一种常见的成语,以允许参数,以作为部分所述功能的任意数量的多个上定义函数 Python文档英寸 该给你的所有函数参数为一个元组: 该 会给你所有的 关键字参数除了那些与作为字典的形式参数。 这两个习惯用法都可以与普通参数混合使

  • 问题内容: 我正在阅读有关JVM体系结构的信息。今天,我了解了操作数堆栈的概念。根据一篇文章: 在字节码指令执行期间使用操作数堆栈,其方式与在本机CPU中使用通用寄存器的方式类似。 我不明白:操作数堆栈到底是什么,以及它在jvm中如何工作? 问题答案: 这是各种单个字节码操作如何获取其输入以及它们如何提供其输出的方式。 例如,考虑将两个s相加的运算。要使用它,您将两个值压入堆栈,然后使用它: 现在

  • 问题内容: JVM运行时数据区为每个正在执行的方法提供单独的堆栈。它包含操作数堆栈和局部变量。每次加载变量时,都需要先到操作数堆栈,然后再到局部变量。为什么不直接操作局部变量表,并进行一些看似重复的工作? 问题答案: 具有直接操作数的指令集必须对每个指令中的操作数进行编码。相反,对于使用操作数堆栈的指令集,操作数是隐式的。 当查看小的琐碎运算(例如将常量加载到变量中)时,隐式参数的优势并不明显。本

  • 我正在尝试执行GET命令,以便我可以从服务器获取数据。下面的Curl适用于Postman。 在运行我的代码时,我能够获取会话ID。下一步是获取数据。但是当我执行GET时,我没有得到任何响应。相反,我得到一个错误,如下所示:“指定的值具有无效的HTTP标头字符。(参数'name')” 下面是我试图执行的C代码 问题:我没有收到来自服务器的响应,响应长度为零。 以下是答案:0 回答ErrorMessa

  • Linux 也是众多操作系统之一,要想知道 Linux 是什么,首先得说一说什么是操作系统。 计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等)。计算机由硬件和软件组成: 硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等; 软件会按照用户的要求协调整台计算机的工作,比如 Windows、Linux、Mac OS、

  • 问题内容: 让我们以一个简单的对象为例。我想确定“不为空” 是橙色还是灰色。 我相信AND首先出现,然后是OR。不过我有点模糊,所以这是我的问题: 有人可以指导我完成此声明,以便我确定会发生什么吗? 另外,如果加上括号会怎样?这会改变操作顺序吗? 我的操作顺序会因语言而异吗? 问题答案: Java教程有一个列表,说明了运算符优先级。将首先计算相等运算符,然后是。括号将先计算,因此添加括号可以更改顺