-
这样的sql语句是否存在问题5
select * from (select * from xf_art where flag=3 order by add_time desc) a,(select id userid,username from xf_usr where flag!=9 ) u where a.xfuid=u.userid order by a.add_time desc
以上的sql语句是我一个已离职的同事写,运行正常,但是怎么看都觉得有点别扭,SQL语句这样的写法是否存在问题呢?问题再在哪里(我现在也说不出来,所以请教各位了)2012年8月09日 08:18
9个答案 按时间排序 按投票排序
-
这样写不可能不存在问题。出现问题是迟早的事。
xf_art 和xf_usr 随着时间的推移,数据量逐渐增大,这句语句迟早跑不通的。select * from xf_art a inner join xf_usr b on a.xfuid = b.userid and b.flag!=9 where a.flag=3 order by a.add_time desc
但是具体哪个做主表要你自己判断。2012年8月13日 02:03
-
sql 没问题,但是性能有问题, (select * from xf_art where flag=3 order by add_time desc) a,(select id userid,username from xf_usr where flag!=9 ) u 将导致这两个表的索引不生效,如果数据量大,性能会很差,可以改用modg或onlylau 的写法
2012年8月10日 12:14
-
性能上是有一些问题,估计你的同事想使用内联
一般都是这样写的select a.*,u.id userid,u.username from xf_arta a inner join xf_usr u on a.xfuid = u.id and a.flag = 3 and u.flag != 9 order by a.add_time desc
"inner join on"中的关键字on
与where的区别:
on是用于局部的
where使用于全局的2012年8月09日 11:40
-
语句是没问题
可能常见的是这种写法吧:
select * from xf_arta,xf_usr u
where a.xfuid=u.id
and a.flag = 3
and u.flag != 9
order by a.add_time desc
但是哪个性能好些,那就得具体环境具体对待
另外我觉得:(select * from xf_art where flag=3 order by add_time desc) a 这个子查询中的order by 没必要吧2012年8月09日 09:47
-
语句没有问题。。
将两个查询的结果集a和u再做一次关联查询,就跟直接从两个table中关联查询是一样的意思。这就是所谓的子查询,你甚至可以嵌套多层子查询,都是一样的2012年8月09日 09:45
相关推荐
本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...
### SQL执行超长语句详解 在数据库管理与开发过程中,编写SQL语句是必不可少的一环。...通过采取上述提到的一些策略和技术手段,可以有效缓解因超长SQL语句带来的问题与挑战,最终实现更高效的数据处理与分析能力。
### ArcGIS中的SQL语句详解 #### 一、SQL在ArcGIS中的角色与应用 SQL,全称为Structured Query Language,即结构化查询语言,是专为数据库设计的一种标准语言,用于管理和操作数据库中的数据。在ArcGIS环境中,SQL...
本篇文章将详细探讨如何利用工具实现SQL Server自动生成SQL语句并转换到Oracle。 首先,标题中的"sqlserver自动生成sql语句工具"指的是可以分析SQL Server数据库结构和数据,自动生成对应的SQL创建语句的软件。这种...
动态拼接SQL语句虽然灵活,但也存在SQL注入的风险。在易语言中,如果没有正确处理用户输入,恶意用户可能通过输入特殊字符构造有害的SQL命令。因此,使用动态SQL时,务必进行参数化查询或预编译语句,以防止SQL注入...
需要注意的是,直接让用户输入SQL语句可能存在安全风险,例如SQL注入攻击。因此,在实际应用中,应限制可执行的SQL类型,或者使用预编译的语句( Prepared Statements)来提高安全性。 9. **动态执行ABAP源代码**...
SQL 中存储过程中 SQL 语句的单引号和双引号问题 在 SQL 中,单引号和双引号的问题是一个常见的混淆点,特别是在存储过程中编写 SQL 语句时。下面将对此问题进行详细的解释和总结。 一、单引号和双引号的基本概念 ...
SQL语句是结构化查询语言(Structured Query Language)的简称,是用于管理和处理关系数据库的标准语言。本篇文章将深入探讨SQL语句的基本语法,包括数据定义、数据操作、实用工具、事务处理和锁定、数据库管理、...
针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具”的实用程序,它能够帮助我们高效地完成这项任务。这个工具通常以MHT(Multi-Part/Related)格式提供,这是一种单一文件Web页面存储格式,...
在IT行业中,MyBatis是一个广泛使用的持久层框架,它允许开发者直接编写SQL语句,提供了灵活的数据访问和映射机制。这篇博客“mybatis直接执行sql语句后续之一”可能探讨了如何在MyBatis中高效且有效地执行SQL操作。...
SQL语句在审计中的应用 SQL语句是数据库管理系统中使用最频繁的语言,SELECT语句是SQL语言中使用频率最高的语句。SELECT语句的作用是让数据库服务器根据用户的要求搜索出所需要的信息资料,并按规定的格式进行整理...
### SQL语句一 #### 原始SQL语句: ```sql select *, (select count(0) from [picture] where album_id = [album].id) as piccount From [Album] Where id in (5,6,8,1,3,4) orderby charindex(',' + ltrim(rtrim...
同时,本教程还涵盖了 SQL 高级知识,如 Top 语句、Like 语句、通配符、In 语句、Between 语句、Aliases 语句、Join 语句、Inner Join 语句、Left Join 语句、Right Join 语句、Full Join 语句、Union 语句、Select ...
服务器接收到SQL语句后,首先会查询高速缓存(library cache),来查看是否存在相同的语句执行计划,如果存在,服务器可以直接使用缓存中的执行计划,从而避免后续的查询开销,提升效率。如果在缓存中找不到,服务器...
此外,生成器通常还具备分析功能,可以检查生成的SQL语句是否存在语法错误,或者是否符合数据库的最佳实践。这有助于确保查询的正确性和效率。分析器可能会提供性能提示,如建议使用索引或优化查询结构以减少查询...
通过实践编写SQL语句,解决实际问题,可以加深对SQL的理解。此外,了解不同数据库系统(如MySQL、Oracle、SQL Server等)之间的差异也很重要,这有助于选择最适合项目需求的数据库系统。最后,不断关注SQL的新特性和...
- **查询分析器**:检查SQL语句的语法和逻辑,提前发现潜在问题。 - **性能优化**:分析查询执行计划,提供改进建议,以提高查询速度。 - **版本控制**:保存和追踪SQL脚本的历史版本,方便回滚和比较。 - **数据...
### MySQL运行SQL语句中文乱码问题的解决方法 在MySQL数据库中运行包含中文字符的SQL语句时,经常会遇到中文显示为乱码的问题。这一现象不仅降低了开发效率,还可能导致数据错误。本文将详细介绍如何彻底解决MySQL...
在“SQL语句手册.chm”中,我们可以期待找到关于SQL的全面介绍,包括其基本概念、语法以及如何执行各种操作。下面我们将深入探讨SQL的关键知识点。 1. **SQL基础**: SQL的基本组成部分包括数据定义语言(DDL)、...
在数据库管理中,SQL语句的执行效率是关键因素之一,尤其在处理大量数据时。通过对SQL语句的执行计划进行分析,我们可以找到优化查询性能的策略,从而提高数据库系统的整体性能。这篇博客"通过分析SQL语句的执行计划...