• 测试实用sql


    一、oracle常用数据类型

    二、日期查询

     select * from table where  date_create >to_date('2019-03-12 20:07:19','yyyy-mm-dd hh24:mi:ss')

    三、统计函数(avg、count、sum)

    ---COUNT:如果列上存在null,那么null是不会进行统计

          如果使用DISTINCT,那么列上如果有重复,重复的记录也不会统计。

    SELECT CONUT(*),COUNT(empo),COUNT(ename),COUNT(comm),COUNT(DISTNCT job) FROM emp;


    ---COUNT(*|DISTINCT 列)      求出全部的记录数

     SUM(列)                              求出总和,操作的列是数字

     AVG(列)                               平均值

     MAX(列)                              最大值

     MIN(列)                               最小值

    四、case when

    1、--简单Case函数  
    CASE sex  
    WHEN '1' THEN '男'  
    WHEN '2' THEN '女'  
    ELSE '其他' END  
    2、--Case搜索函数 ,简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式
    CASE WHEN sex = '1' THEN '男'  
    WHEN sex = '2' THEN '女'  
    ELSE '其他' END 

    3、在使用mysql的过程中出现判断null时遇到的问题的解决办法:https://blog.csdn.net/Dax1n/article/details/83037839,如下示例
    SELECT
    	bill_id,
    	( CASE id IS NULL WHEN TRUE THEN a_id ELSE b_id END ) AS id 
    FROM  TABLE
    WHERE   aaa = '123';
    4、使用pymysql模块拿到的时间问题
    SELECT
    	CAST( begin_time AS CHAR ) AS begin_time 
    FROM TABLE 
    WHERE  is_valid = "1"
    
    
    

    五、重复记录查询

    select * from tablename where 重复字段1,重复字段2 in

    (select 重复字段1,重复字段2 from tablename group by 重复字段1,重复字段2 having count(*)>1)

    六、复制表

    1. create table table1 as select  * from table2  where 1=2;
    创建一个表结构与table2一模一样的表,只复制结构不复制数据;
    2.create  table table1  as  select *   from table2  ;
      创建一个表结构与table2一模一样的表,复制结构同时也复制数据;
    3.create  table table1(columns_a,columns_b) as select  columns1,columns2  from table2; 
    创建一个表结构与table2一模一样的表,复制结构同时也复制数据,但是指定新表的列名,这种格式也用于复制table2部分字段;

    后面两种格式,如果后面跟上合适的查询条件,可以只复制符合条件的数据到新的表中,例如:

    create  table table1  as  select *   from table2  where columns1>=1;

    可能的情况下,建议用第二种方式,这种方式不仅能一次完成建表和插入数据,而且效率高,特别是当复制的数据量比较大时,可以避免大量数据存在回滚空间中等待提交。

    七、创建视图

    create or replace view   创建的视图名  as
    select  可查看的字段名
    from  库名.表名
    where 条件

     八、with  as用法

    with  a  as( select *from  table where data>sysdate)

    select * from a

  • 相关阅读:
    IOS学习笔记3—Objective C—简单的内存管理
    IOS学习笔记2—Objective C—类、属性、方法
    IOS学习笔记1—Iphone程序运行流程
    IOS学习笔记37——ViewController生命周期详解
    [IOS初学]ios 第一篇 storyboard 与viewcontroller的关系
    iOS: 如何正确的绘制1像素的线
    Swift 2.0初探:值得注意的新特性
    Swift语言Storyboard教程:第二部
    C# partial 关键字详解
    spring-boot工程中,jpa下hibernate的ddl-auto的各种属性
  • 原文地址:https://www.cnblogs.com/yinwenbin/p/10504971.html
Copyright © 2020-2023  润新知