`
zheyiw
  • 浏览: 1017134 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

条件放Join里面与Where里面的区别

    博客分类:
  • SQL
阅读更多
--1, 放Join里面
SELECT   a.*, b.StorerCode AS ParentStorerCode
FROM     #tmpINV a
         LEFT JOIN Wms_Bas_Storer b
           ON b.CompanyID = @CompanyID
           AND b.StockID = @StockID
           AND a.ParentStorerID = b.StorerID


--2, 放Where里面
SELECT a.*, b.StorerCode AS ParentStorerCode
FROM   #tmpINV a LEFT JOIN Wms_Bas_Storer b ON a.ParentStorerID = b.StorerID
WHERE  b.CompanyID = @CompanyID
AND    b.StockID = @StockID

第二种写法准确来说是有语病的
将本应该放在外连接里面的条件放到Where里面会导致外连接变成了内连接
如第二种写法得出的结果将跟下面的语句一样
--2.2, 放Where里面就变成了Inner Join
SELECT   a.*, b.StorerCode AS ParentStorerCode
FROM     #tmpINV a
         Inner JOIN Wms_Bas_Storer b
           ON b.CompanyID = @CompanyID
           AND b.StockID = @StockID
           AND a.ParentStorerID = b.StorerID

分享到:
评论

相关推荐

    laravel高级的Join语法详解以及使用Join多个条件

    Laravel提供了一种更优雅的方式来处理多条件Join,即通过闭包传递给`join`方法。这种方式不仅更直观,而且可以更好地利用Laravel的链式调用特性。以下是如何使用闭包来实现多条件Join的例子: ```php DB::table('...

    oracle语句优化.docx

    涵盖多表关联、EXISTS 和 IN 语句的使用、INDEX_JOIN 优化、WHERE 和 HAVING 语句的区别、NOT IN 和 <> 操作符的使用、LIKE 操作符的替代、UNION 操作符的优化、SQL 书写的影响、WHERE 子句后面的条件顺序的影响等...

    测试中需要用到的sql语句

    2. **WHERE子句**:用于在SELECT语句中添加条件,只返回满足条件的行。例如,`SELECT * FROM 表名 WHERE 条件`。条件可以是列值的比较,如 `age > 18`。 3. **ORDER BY子句**:对查询结果进行排序,`ORDER BY 列名 ...

    List 里面各种关于Linq用法总结

    Where()方法用于过滤列表中的元素,根据指定的条件返回满足条件的元素。 ```csharp var filtered = numbers.Where(num => num > 3); ``` 6. **Select()** Select()方法用于转换列表中的每个元素。它可以用于...

    这是山东大学数据库实验的答案,里面各个题的SQL语句写的十分清楚,绝对可用.zip

    SELECT语句的使用至关重要,包括选择特定列(SELECT column1, column2...)、从特定表中选择(FROM table_name)、基于条件筛选(WHERE condition)、排序(ORDER BY)、分组(GROUP BY)和聚合函数(COUNT, SUM, ...

    数据库T_SQL高级查询6.ppt

    需要注意的是,HAVING 子句与 WHERE 子句的区别。WHERE 子句搜索条件在进行分组操作之前应用,而 HAVING 搜索条件在进行分组操作之后应用。 四、连接多个表和子查询 连接多个表和子查询是 T-SQL 高级查询中非常...

    Oracle 数据库经典练习

    在SQL语句`SELECT first_name, dept_id FROM s_emp WHERE salary > '1450'`中,字符串与数字的比较会触发隐式类型转换,可能导致意外的结果或错误。 #### 二、人力资源系统数据复杂查询 这部分练习涵盖了更高级的...

    ABAP编程中提高执行效率的几个技巧

    (3)数据量大的时候用For All Entries In效率会比较低,因为系统里面的处理就像两个SelECT语句循环,其原理等同于Where字句后用Or条件,会占用大量内存,不如一次选出,然后用Delete筛选。 4. 多用内表处理数据...

    SQL面试题目-sqlServer

    题目 3: 一个叫 department 的表,里面只有一个字段 name,一个共有 4 条纪录,分别是 a,b,c,d,四个球队对现在四个球队进行比赛,用一条 SQL 语句显示所有可能的比赛组合。 答案:select a.name, b.name from team...

    SQL语法大全

    sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加...

    sql里面 with...as 是什么意思?如何使用?

    #### 四、与视图的区别 1. **定义**: - **CTE**:在查询执行过程中创建的临时结果集,仅在当前查询中可见。 - **视图**:数据库中存储的查询结果集,可以被多次引用。 2. **生命周期**: - **CTE**:生命周期...

    SQL 经典教程

    - **功能**:`WHERE` 子句用于筛选记录,允许基于指定条件过滤数据。 - **语法**: ```sql SELECT column_name(s) FROM table_name WHERE condition; ``` - **示例**: - 如果我们想找到所有销售额超过1000...

    Hibernate实例开发 HQL 与 QBC 查询

    query = session.createQuery("from User u join u.roles r where r.name = 'Admin'"); users = query.list(); ``` 这个查询将返回所有拥有角色'Admin'的用户。 另一方面,QBC(Query By Example)是一种基于Java...

    MySQL命令大全

    7、修改表中数据:update 表名 set 字段=新值,…where 条件 mysql> update MyClass set name=’Mary’where id=1; 7、在表中增加字段: 命令:alter table 表名 add字段 类型 其他; 例如:在表MyClass中添加了...

    Oracle常用SQL语句复习

    5. **联接操作**:`JOIN`语句用于合并两个或更多表的数据,如`INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`, `FULL OUTER JOIN`等。 6. **子查询**:子查询可以在`SELECT`, `FROM`, `WHERE`等子句中嵌套,用来检索满足...

    北大青鸟sqlch092查询学生相关复杂信息.zip

    4. **WHERE子句**:用于指定查询的条件,如筛选出特定年级、特定班级或者成绩优秀的学生。 5. **ORDER BY和LIMIT**:用于对查询结果进行排序(ORDER BY)和限制返回的行数(LIMIT),例如,按成绩降序排列并只显示...

    Queryjs类SQL前端数据查询类库

    3. **JOIN操作**:虽然前端数据通常不涉及数据库JOIN操作,但Queryjs提供了模拟JOIN的功能,可以处理多个数据源的合并,这对于处理复杂关联的数据非常有用。 4. **分页与排序**:`page()`和`limit()`方法可以实现...

    SQL 资料 SQL中常用的数据类型 SQL中创建数据库的语法,创建表的语法

    根据提供的文件信息,我们可以归纳出一系列关于SQL的重要知识点,这些知识点涵盖了从数据库的创建到查询、更新等操作的基础与进阶技巧。以下是对这些知识点的详细解析: ### 1. 创建数据库 - **语法**: `CREATE ...

    oracle考试题目.docx

    - SQL语句示例:`SELECT e.ename, e.sal, d.dname FROM emp e JOIN dept d ON e.deptno = d.deptno WHERE e.sal > ANY (SELECT sal FROM emp WHERE deptno = 30);` ### 表结构构建 - **用户表tb_user(user_id,...

Global site tag (gtag.js) - Google Analytics