`
cy729215495
  • 浏览: 129598 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

超长sql语句的用法总结

阅读更多

   以前写sql语句从来不考虑效率,如今要改变这个想法了。

 

       数据库的记录都是几百万条数据呀。

select c.name ,a.截止到2008年12月31号,b.截止到2009年3月31号 from city_code  c left join 
 (select g.cityid as cid, count(g.cityid) 截止到2008年12月31号 from group_info g where
 g.typeid=5
 and g.regtime<=to_date('20081231','yyyymmdd')
 group by g.cityid)
 a 
on a.cid=c.nid
left join 
 (select g.cityid as cid, count(g.cityid) 截止到2009年3月31号 from group_info g where
 g.typeid=5
 and g.regtime<=to_date('20090331','yyyymmdd')
 group by g.cityid)
 b 
on b.cid=c.nid

 

注意 a的前面不能用as,b的前面也不能用。

别名不能太长也不能打引号。

group_info表数据量很大,而city_code是和码表,所以要选择它为基准表。

to_date方法返回date类型。结果如下:

	武汉	9658	10445
	襄樊	1051	2310
	鄂州	688	732
	孝感	1733	1749
	黄冈	2651	4145
	黄石	1136	1500
	咸宁	2120	2121
	荆州	2112	2511	
                宜昌		2184
	恩施	719	719
	十堰	1010	1088
	随州	752	988
	荆门	729	729
	仙桃	1533	1566

 

 

更新:

 

 

update card_info ci
     set ci.status     = 3,
         ci.statusdate = (select distinct act_date
                            from tempc_active_card ai
                           where ai.cardno = ci.cardno)
   where ci.status = 0
     and ci.cardno in (select cardno from tempc_active_card);
     

 

这里面的更新很有意思,set   ci.statusdate 的值,以往我们总是给它个常量,在这里我们给的是

一个符合条件的值,cardno唯一,所以返回的还是一个值。实质没有变。

 

 

 

 

 

 

 

分享到:
评论
4 楼 iaimstar 2009-05-06  
没有仔细看,但是外连接这种东西一般大数据量是禁止的,因为效率很低
http://dev.csdn.net/author/griefforyou/082b9b29299e4584b78bf6f7ccb57c0b.html
3 楼 key232323 2009-05-05  
哎,我前几天刚写几个100line+的SQL,痛苦死了,如果写到JAVA里,真是痛不欲生,
脚本语言还好些
2 楼 cy729215495 2009-05-05  
如果你有比我更好的办法,请指教!
1 楼 iaimstar 2009-05-05  
看起来会慢死的sql

相关推荐

    SQL 执行超长语句

    本文将围绕“SQL执行超长语句”这一主题进行深入探讨,包括超长语句可能出现的原因、如何编写更加高效合理的超长SQL语句以及如何优化执行性能等方面。 #### 一、超长SQL语句的定义与常见场景 ##### 定义 超长SQL...

    完成超长SQL语句执行前拆分

    为了克服这一限制,本文介绍了一个专门用于将超长SQL语句拆分为多个较小SQL语句的方法。 #### 核心功能解析 ##### 函数定义 该方法通过一个名为`splitSql`的函数实现。其功能是接收三个参数: - `SqlStr`:需要被...

    sql语句万能生成器,sql语句,sql语句生成

    使用SQL语句生成器,你可以: 1. **快速创建查询**:只需选择所需表和字段,工具就能生成相应的SELECT语句,节省了编写时间。 2. **智能提示和补全**:许多生成器提供了自动补全功能,有助于快速输入SQL关键字和...

    SQLServer动态SQL语句的用法

    SQL Server 动态 SQL 语句的用法 SQL Server 中的动态 SQL 语句是一种灵活的查询方式,它可以根据不同的情况生成不同的 SQL 语句。动态 SQL 语句可以用来实现复杂的业务逻辑,提高查询效率和灵活性。 普通 SQL ...

    Oracle Sql语句转换成Mysql Sql语句

    在使用这个工具时,开发者需要确保源代码中的SQL语句是标准的Oracle SQL格式,避免使用特定Oracle数据库的特性,以提高转换的成功率。同时,转换后还需要对生成的MySQL SQL进行测试,确保在目标数据库环境中能正常...

    Delphi中sql语句的使用总结

    ### Delphi中SQL语句的使用总结 在Delphi中使用SQL语句是与数据库进行交互的重要手段之一。本文将详细介绍如何在Delphi环境中构造和执行SQL查询,并给出具体的示例来帮助理解。 #### 一、基本SQL查询的构建 在...

    Java打印漂亮的SQL语句(被格式化的SQL语句)

    总的来说,Java打印漂亮的SQL语句是一个提高开发效率和代码质量的有效方法,通过使用如"PrettySQLFormatter"这样的工具,可以使得复杂的SQL查询变得更容易理解和维护,这对于大型项目或者涉及大量SQL操作的开发工作...

    PB脚本中SQL语句写法与SQL中语句写法对照

    PB脚本中SQL语句写法与SQL中语句写法对照 PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的知识点,因为PB脚本和SQL语言在写法和应用中有所不同。本文将对PB脚本中SQL语句写法和SQL中语句写法进行对比和分析。 ...

    SQLITE sql语句使用总结

    SQLite SQL 语句使用总结 SQLite 是一个软件库,用于实现自包含、非服务式、零配置、事务化的 SQL 数据库引擎。SQLite 直接读写原始的磁盘文件,一个拥有多个表、索引、触发器和视图的完整 SQL 数据库就包含在一个...

    hibernate执行原生sql语句

    "hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...

    自动生成SQL语句_C#_sql_

    总结,自动生成SQL语句在C#开发中是一项实用的技术,可以帮助我们简化数据库操作,提高代码的可读性和维护性。无论是使用ORM框架如Entity Framework,轻量级库如Dapper,还是手工构造或利用辅助库,都有其适用的场景...

    sql语句命令-sql语句命令sql语句命令

    总结来说,SQL语句命令在数据库操作中扮演着核心角色,而ADO.NET提供了SqlConnection、SqlCommand、SqlDataAdapter等类,使得与SQL Server和其他OLE DB兼容数据库的交互变得更加便捷。理解并熟练掌握这些工具,对于...

    常见的sql语句用法

    这里主要介绍一些常见的SQL语句用法,涵盖了数据的创建、插入、删除、修改以及查询。 首先,创建表是数据库操作的基础。例如,创建一个名为`Student`的表,包含`Sno`(学生编号)、`Sname`(学生姓名)、`Ssex`...

    SQL语句总结

    以上就是SQL语句总结的关键点,特别是对于MySQL数据库的使用。掌握这些基本概念和高级技巧,将极大地提升你在数据库管理和数据分析方面的效率。通过实践和持续学习,可以进一步深化对SQL的理解,应对更复杂的数据库...

    arcgis中的sql语句

    - **VBE环境下ADO方式执行SQL**:在Visual Basic for Applications (VBA)环境中,使用ActiveX Data Objects (ADO)技术可以实现SQL语句的自动化执行,适用于大规模数据处理和脚本编程。 综上所述,SQL在ArcGIS中的...

    SQLTracker,抓取sql语句的工具

    SQLTracker是一款专为数据库操作监控设计的工具,它在IT领域中主要用于跟踪和记录SQL语句的执行情况。SQL(Structured Query Language)是用于管理关系数据库的编程语言,包括查询、更新、插入和删除数据等操作。SQL...

    oracle监听执行sql语句

    这里使用`FIRST_LOAD_TIME`字段来筛选出特定时间范围内的SQL语句。需要注意的是,日期格式可能需要根据Oracle数据库的实际设置进行调整。 3. **获取高CPU消耗的SQL语句** ```sql SELECT b.SQL_TEXT, b.FIRST_...

    查看LINQ生成SQL语句的几种方法

    在使用LINQ查询时,可以利用`Debug.WriteLine()`方法将生成的SQL语句打印到控制台。例如: ```csharp var query = (from customer in db.Customers where customer.City == "London" select customer); Debug....

    java执行SQL语句实现查询的通用方法详解

    然后,使用PreparedStatement来执行SQL语句,preparedstatement.setObject()方法来设置SQL语句中的参数。最后,使用executeQuery()方法来执行SQL语句,并将查询结果放入Vector容器,以便其他程序使用。 二、...

    通过分析SQL语句的执行计划优化SQL(总结)

    这篇博客"通过分析SQL语句的执行计划优化SQL(总结)"深入探讨了这一主题,下面将对其中的主要知识点进行详细阐述。 1. **执行计划的理解**: 执行计划是数据库管理系统在执行SQL语句之前预先生成的一种详细步骤,它...

Global site tag (gtag.js) - Google Analytics