• SQLite基础-8.子句(二)


    SQLite子句(二)

    1. GROUP BY子句

    GROUP BY子句与SELECT语句一起使用,对数据进行分组。
    位置:放在WHERE子句后,放在ORDER BY子句之前。

    -- 语法
    SELECT * FROM table_name
        WHERE [condition]
        GROUP BY column1,, column2,..
        ORDER BY column1 DESC;
    
    -- 实例
    select * from link_men
        where name = 'eric'
        group by address;
    

    2. HAVING子句

    HAVING 子句通常与GROUP BY子句联合使用,用来过滤由GROUP BY子句返回的分组结果。

    -- 语法
    SELECT * FROM table_name
        WHERE [condition] 
        GROUP BY column1
        HAVING [condition]
        ORDER BY column1 DESC;
    
    --实例
    SELECT * FROM table_name
        GROUP BY address
        HAVING count(address) < 2;
    
    

    实例

    语句 描述
    WHERE SALARY LIKE '200%' 查找以 200 开头的任意值
    WHERE SALARY LIKE '%200%' 查找任意位置包含 200 的任意值
    WHERE SALARY LIKE '_00%' 查找第二位和第三位为 00 的任意值
    WHERE SALARY LIKE '2_%_%' 查找以 2 开头,且长度至少为 3 个字符的任意值
    WHERE SALARY LIKE '%2' 查找以 2 结尾的任意值
    WHERE SALARY LIKE '_2%3' 查找第二位为 2,且以 3 结尾的任意值
    WHERE SALARY LIKE '2___3' 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

    3. LIMIT 子句

    LIMIT子句来限制SELECT语句返回的行数。

    -- 语法
    SELECT * FROM table_name
        [WHERE condition]
        [ORDER BY column1, column2,...] [ASC | DESC]
        LIMIT row_count
        OFFSET offset;
    -- OFFSET 可选,偏移行。在约束行数之前,先跳过偏移行。
    
    -- 实例
    SELECT * FROM link_men
        ORDER BY salary
        LIMIT 10;
    
    

    4. IF EXISTS 和 IF NOT EXISTS 子句

    IF EXISTSIF NOT EXISTS子句表示如果当前创建的数据表名已经存在 和 如果当前创建的数据表名不存在,一般用在 CREATE和DROP语句中。
    用于防止以下场景:

    • 当表存在时再次创建表或者视图,产生异常:Error: table link_men already exists
    • 当表或者视图不存在时删除表,产生异常:Error: no such table: link_men
    -- 语法
    CREATE TABLE IF NOT EXISTS table_name (
        column1 datatype PRIMARY KEY,
        ...
        columnN datatype,
    );
    
    DROP TABLE IF EXISTS table_name;
    
    -- 实例
    CREATE TABLE IF NOT EXISTS link_men(
        ID INT PRIMARY KEY NOT NULL,
        ...
    );
    
    DROP TABLE IF EXISTS link_men;
    
    
  • 相关阅读:
    hadoop入门学习系列之一hadoop伪分布式模式下安装及运行
    redis主从复制搭建
    Struts2 配置文件result的name属性和type属性
    context:exclude-filter spring事宜【经典-转】
    Incorrect column count: expected 1, actual 2
    SQL must not be null(低级错误)
    Injection of resource dependencies failed解决办法总结
    SpringMVC Controller 介绍【转】
    Json格式化工具 JsonViewer下载
    STS或eclipse安装SVN插件
  • 原文地址:https://www.cnblogs.com/haitao130v/p/11323716.html
Copyright © 2020-2023  润新知