zoukankan      html  css  js  c++  java
  • SQLite

    SQLite - WHERE子句

    SQLite WHERE子句用于指定一个条件同时抓取数据从一个表或多个表。    

    如果给定的条件满意,意味着true,然后从表中返回特定值。你会使用WHERE子句来筛选记录,只获取必要的记录。    

    WHERE子句不仅用于SELECT语句,但它也用于更新、删除语句,等等,我们将在后续章节的研究。

    语句

    SQLite SELECT语句的WHERE子句的基本语法如下:

    SELECT column1, column2, columnN

    FROM table_name

    WHERE [condition]

    例子

    您可以指定一个条件使用比较或逻辑运算符><=,,等。考虑公司表有以下记录:

    ID          NAME        AGE         ADDRESS     SALARY
    
    ----------  ----------  ----------  ----------  ----------
    
    1           Paul        32          California  20000.0
    
    2           Allen       25          Texas       15000.0
    
    3           Teddy       23          Norway      20000.0
    
    4           Mark        25          Rich-Mond   65000.0
    
    5           David       27          Texas       85000.0
    
    6           Kim         22          South-Hall  45000.0
    
    7           James       24          Houston     10000.0
    

    以下是简单的例子显示使用SQLite逻辑运算符。下列SELECT语句列表下的所有记录,年龄大于或等于25和工资是大于等于65000.00:

    sqlite> SELECT * FROM COMPANY WHERE AGE >=25 AND SALARY >=65000;

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    4Mark25Rich-Mond65000.0

    5David27Texas85000.0

    下列SELECT语句列表下的所有记录,年龄大于或等于25或工资是大于等于65000.00:

    sqlite> SELECT * FROM COMPANY WHERE AGE >=25 OR SALARY >=65000;

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    1Paul32California20000.0

    2Allen25Texas15000.0

    4Mark25Rich-Mond65000.0

    5David27Texas85000.0

    下列SELECT语句列表下的所有记录,年龄并不是空这意味着所有的记录,因为没有记录的年龄等于零:

    sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL;

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    1Paul32California20000.0

    2Allen25Texas15000.0

    3Teddy23Norway20000.0

    4Mark25Rich-Mond65000.0

    5David27Texas85000.0

    6Kim22South-Hall45000.0

    7James24Houston10000.0

    下列SELECT语句列表下的所有记录名称始于"ki","ki"后是什么并不重要。

    sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%';

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    6Kim22South-Hall45000.0

    下列SELECT语句列表下的所有记录名称始于"ki","ki"后是什么并不重要。

    sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*';

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    6Kim22South-Hall45000.0

    下列SELECT语句列表下的所有记录年龄值为2527:

    sqlite> SELECT * FROM COMPANY WHERE AGE IN (25,27);

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    2Allen25Texas15000.0

    4Mark25Rich-Mond65000.0

    5David27Texas85000.0

    下列SELECT语句列表下的所有记录的年龄值不是2527:

    sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN (25,27);

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    1Paul32California20000.0

    3Teddy23Norway20000.0

    6Kim22South-Hall45000.0

    7James24Houston10000.0

    下列SELECT语句列表下的所有记录,年龄25 - 27之间:

    sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27;

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    2Allen25Texas15000.0

    4Mark25Rich-Mond65000.0

    5David27Texas85000.0

    SELECT语句利用SQL查询,子查询后发现所有记录年龄字段有工资> 65000,后来使用where子句以及存在运营商列表下的所有记录,年龄从外部查询存在于子查询返回的结果:

    sqlite> SELECT AGE FROM COMPANY

    WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY >65000);

    AGE

    ----------

    32

    25

    23

    25

    27

    22

    24

    SELECT语句利用SQL查询,子查询后发现所有记录年龄字段有工资> 65000,后来一起使用where子句>操作符列表下来年龄以外的所有记录查询年龄大于子查询返回的结果:

    sqlite> SELECT * FROM COMPANY

    WHERE AGE >(SELECT AGE FROM COMPANY WHERE SALARY >65000);

    ID NAME AGE ADDRESS SALARY

    --------------------------------------------------

    1Paul32California20000.0

  • 相关阅读:
    格式化HDFS出现java.io.IOException: Cannot create directory /opt/hdfs/name/current错误
    Hadoop集群安装教程(完全分布模式)——更新中
    将sql语句嵌入到c语言中——codeblocks
    centos虚拟机网络连接问题
    Linux虚拟机如何调整登录界面的分辨率——解决登录界面图标过大的问题
    Spring Cloud常用组件超时总结
    程序集加载与反射笔记
    ASP.NET分页
    显式向标识列插入数据
    JIT和程序的首次执行
  • 原文地址:https://www.cnblogs.com/orangebook/p/3500599.html
Copyright © 2011-2022 走看看