精华内容
下载资源
问答
  • where 条件字句搜索条件可由一个或多个逻辑表达式组成 , 结果一般为布尔值逻辑运算符运算符语法描述and &&a and b a && b逻辑与 两个为真, 结果为真or ||a or b a || b逻辑或 一个为真, 结果为真not...

    where 条件字句

    搜索条件可由一个或多个逻辑表达式组成 , 结果一般为布尔值

    逻辑运算符

    运算符

    语法

    描述

    and &&

    a and b a && b

    逻辑与 两个为真, 结果为真

    or ||

    a or b a || b

    逻辑或 一个为真, 结果为真

    not !

    not a !a

    逻辑非 真为假, 假为真

    -- ========== where ============

    SELECT `name`,`sex` FROM student

    -- 查询 name 数值在 95 ~ 100 之间的

    SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 AND `NAME`<= 100

    -- and &&

    SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 && `NAME` <= 100

    -- between and (区间)

    SELECT `name`,`address` FROM student WHERE `name` BETWEEN 95 AND 100

    -- 查询name 不等于 1 的同学

    SELECT `NAMe`, `address` FROM student WHERE `NAME` != 1 AND `NAME` < 10

    -- not

    SELECT `NAMe`, `address` FROM student WHERE NOT `NAME` = 100 AND `NAME` > 90

    模糊查询: 比较运算符

    运算符

    语法

    描述

    is null

    a is null

    如果a为null, 结果为真

    is not null

    a is not null

    如果a不为null, 结果为真

    between and

    3 between 1 and 5

    如果 3 在 1 和 5 之间, 结果为真

    Like

    a like b

    sql匹配, 如果a匹配b, 结果为真

    In

    a in (abcd, pdosa, ...)

    若 a 在 (abcd, pdosa, ...) 中, 结果为真

    -- ========== 模糊查询 ============

    -- 查询 姓张的 like 结合 %(代表0到任意个字符) _(代表一个字符)

    SELECT `name` FROM student WHERE `name` LIKE '张%'

    -- 查询 姓张的 后面只有一个字的

    SELECT `name` FROM student WHERE `name` LIKE '张_'

    -- 查询 姓张的 后面有两个字的

    SELECT `name` FROM student WHERE `name` LIKE '张__'

    -- 查询 名字中有张字的

    SELECT `name` FROM student WHERE `name` LIKE '%张%'

    -- ==== in 具体的一个或多个值 ====

    -- 查询 1,2,3 号同学

    SELECT `id`,`name` FROM student WHERE `id` IN (1,2,3)

    -- 查询 北京 的同学

    SELECT `id`,`name`,`address` FROM student WHERE `address` IN ('北京')

    -- ==== null , not null ====

    -- 查询地址为空或者null的

    SELECT `name`,`address` FROM student WHERE `address`='' OR `address` IS NULL

    -- 查询有日期的 不为空的

    SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NOT NULL

    -- 查询没有日期的 为空的

    SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NULL

    展开全文
  • MySQL where 条件字句查询

    万次阅读 2020-09-22 17:57:18
    where 条件字句 搜索条件可由一个或多个逻辑表达式组成 , 结果一般为布尔值 逻辑运算符 运算符 语法 描述 and && a and b a && b 逻辑与 两个为真, 结果为真 or || a or b a || b 逻辑...

    where 条件字句

    搜索条件可由一个或多个逻辑表达式组成 , 结果一般为布尔值

    逻辑运算符

    运算符 语法 描述
    and && a and b a && b 逻辑与 两个为真, 结果为真
    or || a or b a || b 逻辑或 一个为真, 结果为真
    not ! not a !a 逻辑非 真为假, 假为真
    -- ==========  where  ============
    SELECT `name`,`sex` FROM student
    
    -- 查询 name 数值在 95 ~ 100 之间的
    SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 AND `NAME`<= 100
    -- and  &&
    SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 && `NAME` <= 100
    -- between and (区间)
    SELECT `name`,`address` FROM student WHERE `name` BETWEEN 95 AND 100
    
    -- 查询name 不等于 1 的同学
    SELECT `NAMe`, `address` FROM student WHERE `NAME` != 1 AND `NAME` < 10
    -- not 
    SELECT `NAMe`, `address` FROM student WHERE NOT `NAME` = 100 AND `NAME` > 90
    


    模糊查询: 比较运算符

    运算符 语法 描述
    is null a is null 如果a为null, 结果为真
    is not null a is not null 如果a不为null, 结果为真
    between and 3 between 1 and 5 如果 3 在 1 和 5 之间, 结果为真
    Like a like b sql匹配, 如果a匹配b, 结果为真
    In a in (abcd, pdosa, …) 若 a 在 (abcd, pdosa, …) 中, 结果为真
    -- ==========  模糊查询  ============
    -- 查询 姓张的  like 结合  %(代表0到任意个字符)  _(代表一个字符)
    SELECT `name` FROM student WHERE `name` LIKE '张%'
    -- 查询 姓张的 后面只有一个字的
    SELECT `name` FROM student WHERE `name` LIKE '张_'
    -- 查询 姓张的 后面有两个字的
    SELECT `name` FROM student WHERE `name` LIKE '张__'
    -- 查询 名字中有张字的
    SELECT `name` FROM student WHERE `name` LIKE '%张%'
    
    
    -- ==== in 具体的一个或多个值 ====
    -- 查询 1,2,3 号同学
    SELECT `id`,`name` FROM student WHERE `id` IN (1,2,3)
    -- 查询 北京 的同学
    SELECT `id`,`name`,`address` FROM student WHERE `address` IN ('北京')
    
    -- ==== null , not null ====
    -- 查询地址为空或者null的
    SELECT `name`,`address` FROM student WHERE `address`='' OR `address` IS NULL
    
    -- 查询有日期的  不为空的
    SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NOT NULL
    
    -- 查询没有日期的  为空的
    SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NULL
    
    展开全文
  • WHERE字句

    2019-09-27 16:29:17
    WHERE子句:--WHERE字句起到的是对数据库查询结果集的限制作用----[WHERE condition(s)]------[]代表可选,意思是WHERE字句是可以没有的------(s)也就是说条件是可以多个的----WHERE条件的三个要素-...
    structured query language(非过程性的结构查询语言)

    主要内容:
    数据库怎么限制里面的数据;
    数据库怎么排列里面的数据。
    WHERE子句:

    --WHERE字句起到的是对数据库查询结果集的限制作用
    ----[WHERE condition(s)]
    ------[]代表可选,意思是WHERE字句是可以没有的
    ------(s)也就是说条件是可以多个的

    ----WHERE条件的三个要素
    ------列名
    ------比较条件
    --------不等于的三种形式!=、<>、^=

    SQL> select count(*) from emp;

      COUNT(*)
    ----------
            14

    SQL> select count(*) from emp where empno^=7788;

      COUNT(*)
    ----------
            13

    ------between and 是有边界的,意思是包括边界值的

    ------常数、值列表
    --------常数的特征1、字符串和日期必须用引号括起来;2、字符串是大小写敏感

    ------like走索引的问题:like '%XX'是不走索引的,基于索引的原理
    SQL> select * from emp where empno = '7788';

         EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
          7788 SCOTT      ANALYST         7566 09-2-82           3000                    20


    执行计划
    ----------------------------------------------------------
    Plan hash value: 4024650034

    --------------------------------------------------------------------------------------
    | Id  | Operation                   | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |        |     1 |    38 |     1   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| EMP    |     1 |    38 |     1   (0)| 00:00:01 |
    |*  2 |   INDEX UNIQUE SCAN         | EMP_PK |     1 |       |     0   (0)| 00:00:01 |
    --------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

       2 - access("EMPNO"=7788)


    统计信息
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
              2  consistent gets
              0  physical reads
              0  redo size
            772  bytes sent via SQL*Net to client
            405  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    有索引,且走索引
    SQL> select * from emp where empno like '%88';

         EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
          7788 SCOTT      ANALYST         7566 09-2-82           3000                    20


    执行计划
    ----------------------------------------------------------
    Plan hash value: 3956160932

    --------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |     1 |    38 |     3   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| EMP  |     1 |    38 |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

       1 - filter(TO_CHAR("EMPNO") LIKE '%88')


    统计信息
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
              8  consistent gets
              0  physical reads
              0  redo size
            864  bytes sent via SQL*Net to client
            416  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    不能走索引,走全表扫描

    --------except 逃避符 一般用来处理 字符串里面的特色字符 例如 '\'
    ------null的特征之一就是不能用比较等于或者不等于
    SQL> select * from emp where comm != null;

    未选定行

    SQL> select * from emp where comm = null;

    未选定行
    --逻辑运算
    ----AND
    ANDTRUEFALSENULL
    TRUETRUEFALSENULL
    FALSEFALSEFALSEFALSE
    NULLNULLFALSENULL
    ----OR
    ORTRUEFALSENULL
    TRUETRUETRUETRUE
    FALSETRUEFALSENULL
    NULLTRUENULLNULL
    ----NLS_UPPER:转换成大写,不同语言都有用
    ----UPPER:不能处理特殊语言
    --IN的查询转换问题:






    转载于:https://www.cnblogs.com/jiaoweixue/p/3578801.html

    展开全文
  • where字句常用的查询条件 查询条件 谓词 比较 = , > , < , >= , <= , (<> , !=不等于) 确定范围 BETWEEN AND(相当于闭集合[BETWEEN,AND]) , NOT BETWEEN AND(不属于闭集合[BETWEEN,...

    where字句常用的查询条件

    查询条件 谓词
    比较 = , > , < , >= , <= , (<> , !=不等于)
    确定范围 BETWEEN AND(相当于闭集合[BETWEEN,AND]) , NOT BETWEEN AND(不属于闭集合[BETWEEN,AND]的范围)
    确定集合 IN , NOT IN
    字符匹配 LIKE NOT LIKE 通配符 % ,_
    多重运算(逻 辑运算) AND, OR , NOT
    空值 IS NULL , IS NOT NULL

    使用案例

    -- where字句常用的查询条件及用法
    -- 比较   = , > , < , >= , <= ,   (<> , !=不等于)
    -- 用法   修改id为1的学生的姓名为狂铁
    UPDATE `student` SET `name`='狂铁' WHERE id=1;
    -- 修改年龄不等于3的学生的姓名
    UPDATE `student` SET `name`='虞姬' WHERE age <>3;
    -- 查询studeng表中性别为女的学生ID
    SELECT id 
    FROM student
    WHERE sex='女';
    -- 查询年龄小于等于4的学生的id和姓名
    SELECT id ,`name`  
    FROM student  
    WHERE age >=4;
    
    
    -- 确定范围   BETWEEN   AND(相当于闭集合[BETWEEN,AND]) ,NOT  BETWEEN   AND(不属于闭集合[BETWEEN,AND]的范围)
    -- 查询年龄在4到六岁的学生的id和姓名
    SELECT id,`name` FROM student  WHERE age BETWEEN 4 AND 6;
    -- 查询年龄不在3到7岁的学生的所有信息
    SELECT * FROM student WHERE age NOT BETWEEN 3 AND 7;
    
    
    -- 确定集合,和
    SELECT age FROM student WHERE IN(4,5,6)
    SELECT age FROM student WHERE age=3 OR age=4 OR age=5
    
    
    -- 字符匹配  LIKE   NOT LIKE   通配符  %(代表任意长度的字符串) ,_(代表任意单个字符)  
    -- 查询姓名为两个字且第一个字为'狂'的学生的所有信息
    SELECT * FROM student WHERE `name` LIKE '狂_';
    -- 查询姓名第一个字为'狂'的学生的所有信息
    SELECT * FROM student WHERE `name` LIKE '狂%'
    -- 查询姓名第二个字为'狂'的学生的所有信息
    SELECT * FROM student WHERE `name` LIKE '_狂%'
    -- 查询姓名第一个字不为'狂'的学生的所有信息
    SELECT * FROM student WHERE `name` NOT LIKE '狂%'
    -- 如果用户查询的字符串本身就含有通配符,这时就要用ESCAPE'\'(换码字符)对通配符转义
    -- 格式  WHERE `name` LIKE `字符串` ESCAPE'\';
    
     
     -- 空值  IS NULL ,  IS  NOT NULL
     --  查询地址为空的所有学生的信息
     SELECT * FROM student WHERE `address` IS NULL;
    
    
    -- 多重运算(逻辑运算)  AND, OR  , NOT
    -- 查询姓名为两个字且第一个字为'狂'且年龄大于4的学生的所有信息
    SELECT * FROM student WHERE `name`LIKE '狂_' AND age>4;
    -- 查询姓名为两个字且第一个字为'狂'和第一个字为'虞'的学生的所有信息
    SELECT * FROM student WHERE `name`LIKE '狂_' OR `name` LIKE '虞_';
    
    展开全文
  • 1、where字句的作用 限制表中数据的返回,符合where条件的数据被选中,不符合where条件的数据被过滤掉。 2、where的语法格式 select 字段名 from 表名 where 条件; 3、两个极限条件 1 = 1 恒等 永真 1 != 1 恒假 ...
  • 优化where字句

    2020-05-28 15:38:31
    优化where字句 1改变where条件的顺序并没有提高查询的效率 2.like语句优化 不要在关键字前面加%,这样无法使用索引(type=ALL),会导致全表扫描 3.使用union all 来替代or条件 使用or关键字无法使用索引,会导致全表扫描...
  • MySQL WHERE字句在使用MySQL查询select语句时,可以使使用WHERE字句来指定查询条件,从FROM字句中间选取适当的数据行和列可以使用一个或多个以逗号分隔的表,包括各种使用WHERE子句条件。但是WHERE子句的SELECT命令...
  • 【14】where字句

    2019-09-30 06:53:59
    1.简介 -> where紧跟在from后执行,用来初选-> 语法where 条件-> 注意->...一张记录期中成绩与期末成绩的表,需要查询出考试及格的人,最终分数期中成绩占30%,期末成绩占70%,最终分...
  • WHERE 常用字句

    2018-11-25 16:20:59
    WHERE 字句 a) Select*from bbs_user where password=123 and age=21; 1. 查询出年龄为21的 并且密码为123的用户 b) Select*from bbs_user where password=123 or age=21; 1. 查询出年龄为21的 或者密码为123...
  • oralce where字句的用法

    2019-07-01 14:03:00
    ? 如何显示工资高于3000的员工 select * from emp where sal>3000; ? 如何查找1982.1.1后入职的员工 select * from emp where to_char(hiredate,’yyyy-mm-dd’)>... 查询1980年入职的员工 select...
  • 数据库中简单的SQL语句以及where字句

    千次阅读 2019-08-03 15:45:53
    数据库中简单的SQL语句以及where字句 select * from dept; select * from emp; --查询表中指定字段中的值 select 字段名1,字段名2,.....from表名,其中*代表所有 select empno from emp; select empno,ename from...
  • 1、where字句的作用是限制返回的行 符合条件的行被筛选出来,不符合条件的行被过滤掉 Select 字段 from 表名 where 条件; 2、数字类型的条件 /*列出工资大于1500的员工的信息*/ select id,first_...
  • 在程序开发过程中一段查询语句,where字句中使用到case when then,在此记录下 WHERE ACTUALNUMBER!=(CASE WHEN APPROVAL_DEPT IS NOT NULL THEN APPROVALNUMBER WHEN APPROVAL_PERSON...
  • MYSQL语法篇之"WHERE"子句本章来介绍MYSQL里面查询功能强大的WHERE子句。WHERE子句的特点WHERE子句的注意事项WHERE子句的使用WHERE子句的特点:过滤记录其实这一句话的解释有两个方面:(1)过滤记录=看不到不想看的...
  • select char(49) from dual where (0xFFFF & 0xFFFF = 0xFFFF) | 1 查询结果为1。mysql支持c语言的与或非等各种运算
  • where疑难字句

    2018-12-04 12:05:36
    select * from one where password='123'and age='22';, //逻辑与 +----+----------+----------+-----+ | id | username | password | age | //这句话的含义是查询年龄为22的并且密码为123的用户 +----+----------...
  • where-->group by-->having-->order by-->limit 转载于:https://blog.51cto.com/ccdxdb/1707068
  • 本篇文章给大家带来的内容是关于mysql中select和where子句优化的总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。数据库优化:1.可以在单个SQL语句,整个应用程序,单个数据库服务器或多个联网...
  • where过滤字句

    2016-08-22 23:59:00
    无条件为真 为假 别名不能直接用来当做查询来用 只能如此 下面这些语句是可以使用的,使用的是排序规则 转载于:https://www.cnblogs.com/q827418266/p/5797725.html...
  • 背景一个最简单的select语句包含select子句、from子句、where子句等,这些子句都不包含子查询(subselect),也没有union操作。而复杂的select语句包含select子句、from子句、where子句(这些子查询可以y是最简单的...
  • select * from store_app_deployed...其中recommend_pos为int型,这查询结果会相当于where recommend_pos = 0 update、insert同样如此。     相关的一些资料链接:http://www.cnblogs.com/zhoujinyi/archive/20
  • mybatis高级版 单表 用动态 sql 片段 where字句 和 trim 标签 分别 实现查询,修改 。 第一步建表 以员工表单表为例 create table emp1( id varchar2(20) primary key, name varchar2(20)unique not null, ...
  • mysql之限制字句where

    2019-03-30 09:47:48
    1.限制字句----where 如果想限制查询返回的行,需要使用WHERE子句 语法: SELECT *|{[DISTINCT] column|select_expr [alias], …]} [FROM [database.]table] [WHERE conditions]; WHERE条件又叫做过滤条件,它从FROM...
  • sql 分页查询字句

    2018-05-03 12:02:01
    select * from(select rownum r,emp.* from emp where r&lt;=pagesize*linesize) temp where temp.r&...号,原因是不论何时rownum都是从“1”开始的,本例子中where字句已经使用了rownum,所以主查询...
  • -- where字句-- 删除ID值大于10的用户DELETE FROM register WHERE ID>10;--删除手机号不为18900000003的用户DELETE FROM register WHERE tel!=18900000003;-- 弱语法,这个值可以用数字也可以用字符串-- AND OR:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 820
精华内容 328
关键字:

where字句查询