• SQL学习笔记3——SQL中检索数据之条件查询


    SQL学习笔记3——SQL中检索数据之条件查询

    完整语法

    • select 列名 from 表名 where 筛选条件;

    筛选条件的分类

    1. 简单条件运算符
      • > < = <> != >= <= 其中<>!=是一个意思
      • <=> 安全等于,相当于=is的合并,但可读性差,不建议使用
    2. 逻辑运算符
      • && and || or ! not
      • SQL在处理OR操作符前,优先处理AND操作符,所以好的习惯是总是使用圆括号显示指明顺序,这样做能消除歧义
    3. 模糊查询
      • like:一般搭配通配符使用,可以判断字符型或数值型,通配符:%任意多个字符(包含0个),_任意单个字符
      • between and相当于[a,b]闭区间,调换临界值大小关系则结果可能为空
      • in相当于= 第一个 or = 第二个 ...,所以不能搭配正则匹配使用
      • is null /is not null:用于判断null值(不能使用= null代替此功能,is也不能代替=is只用于和null搭配)
      • 查询员工名中包含字符a的员工信息
        SELECT * FROM employees WHERE last_name LIKE '%a%';
      • 查询员工名中第二个字符为_的员工名
      SELECT 
      	last_name 
      FROM 
      	employees 
      WHERE 
      	last_name LIKE '_$_%' ESCAPE '$';
      /* 或者之间用转义,但是推荐上面的方式,这样的转义标识符可以由自己任意定义
      SELECT 
      	last_name 
      FROM 
      	employees 
      WHERE 
      	last_name LIKE '_\_%';
      */
      
      • 查询员工作是指定的某些特定工作的员工名及其工作
      SELECT 
      	last_name,
      	job_id
      FROM 
      	employees 
      WHERE 
      	job_id IN('IT_PROT','AD_VP','AD_PRES');
      

    经典问题

    1. select * from 表名;select * from 表名 where id like '%%';的区别是是什么?
      • 前者检索所有,后者检索除null类型外的所有
  • 相关阅读:
    PHP5.5安装php-redis扩展
    表格行变换顺序功能(jquery)
    linux curl命令验证服务器断点续传支持
    Yii表单模型使用及以数组形式提交表单数据
    修改win8系统中启动管理器的系统引导信息
    tiny6410的QT4.7开发与移植
    VMware 6.5 下安装 Fedora 9
    格式字符串的输入输出
    linux C下多文件编译,以及Makefile的使用
    ARM学习——建立交叉编译环境
  • 原文地址:https://www.cnblogs.com/sanmujun/p/12627980.html
Copyright © 2020-2023  润新知