6.使用where子句查询表中满足条件的记录

原创 2018年04月17日 09:31:37

我这些学习笔记,记录的都是我自己认为的知识点,可能以后再看的时候还要翻书,但是可以用来定位到准确的书中示例的位置,减少翻书重找的时间,利于自身知识体系的搭建。                   self-transcendence

第6章 使用where子句查询表中满足条件的记录

6.1 比较查询

Where可以使用比较运算符。

比较运算符分为三类:算数比较运算符、between...andin

 

6.1.1 算数比较运算符

=>=<=><!=<>(不等于)、!>(不大于)、!<(不小于)

使用比较运算符,符号两边的数据类型要一致

 

6.1.2 between...and运算符查询指定条件范围的记录

例:where age between 30 and 50     查年龄30-50的人

如果要查30-50之外的人,就用where age not between 30 and 50

 

6.1.3 in运算符

例:where dept in(‘计算机系’,‘数学系’)

Dept字段中等于计算机系或数学系的。

或者where dept=‘计算机系’ or  dept=‘数学系’

 

6.1.4 字符串比较

目前不知道有什么用,等回头再看看

 

6.1.5 日期时间的比较

日期值和时间比较,日期和时间必须是数据库服务器可以接受的字符串格式。

例:where birth > ’19860101 ’,数据库的格式是  --日 时::

比较日期值和时间要用单引号

 

 

 

6.2 逻辑查询

逻辑运算符:and ornot,优先级顺序not > and > or

Sql server中可以使用&代替and,使用|代替or,使用~代替not

例:where dept=‘计算机’or  dept=‘数学系’) and  salary > 3000

 

 

 

6.3 空值查询

Null表示空值,is nullis not null 判断空值

例:where  persion  is  not  null

 

 

 

6.4 使用like操作符实现模糊查询

模糊查询关键字like,通配符%_使用,_出现一次代表一个字符,%代表0个或多个,like后面的匹配字符必须要使用单引号,

例:where  stuName  like ‘张%or  stuName  like ‘李_

Mysqllike不区分大小写

Sql server还支持[ ][^ ]通配符,[ ]表示查询某一个范围内的所有单个字符,[^ ]表示那些不在某一个范围内的字符,例:匹配abcdlike [abcd];匹配abcd以外,like [^abcd]

 

6.4.1 使用转义字符

数据本身有时会含有%_,这时候我们要保证%只是符号,不是通配符,就要使用escape

例:where deptId like %a_%escape a

这个例子中a被标注为转义字符,及a后面的通配符就变成了普通的字符

 

 

 

6.5 使用regexp关键字进行模式匹配
mysql中使用regexp关键字,只要是匹配的字符串中含有模板中的子串,就返回true

Regexp有一些关键字:

^:用来匹配字符串的开始

$:用来匹配字符串的结尾

[]:括起来的字符都可以匹配,[abc]那么只要有abc其中任一都可以

-:表示匹配字符的范围,[a-z]那么a-z任一都可以

+:表示用于匹配的字符在被匹配的字符中至少出现一次或多次

*:标识用于匹配的字符在被匹配的字符中出现0次或多次

():括起来的是整体,(abc)则abc要整体出现

{m}:表示{}前面的字符要出现m次,例:{abc}{2}则表示字符串要含有abcabc

PHP中Yii2框架的使用及项目实战

-
  • 1970年01月01日 08:00

使用where子句查询表中满足条件的记录

在使用SQL语句进行查询操作时,开发人员或者用户并不是对数据表中的全部记录感兴趣,而只是想得到实际需要的数据记录,这时就需要对查询结果进行限制。在SQL语句中可以使用WHERE子句过滤掉不符合条件的记...
  • kss820
  • kss820
  • 2013-06-23 01:24:05
  • 1504

Sql Top 子句

TOP 子句用于规定要返回的记录的数目。 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 注释:并非所有的数据库系统都支持 TOP 子句。 MySQL...
  • wanpiyatou
  • wanpiyatou
  • 2015-01-14 15:52:45
  • 167

当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,SQL的执行顺序

 当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,SQL的执行顺序如下: (1) 执行WHERE子句,从表中选取行。 (2) 由GROUP BY 子句对选取的行进行分组...
  • Wanghaishanren
  • Wanghaishanren
  • 2008-04-07 16:16:00
  • 3369

Mysql中的where子句

Mysql中的where子句 1、基本使用 在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。WHERE子句在表名( FROM子句)之后给出。例如: SELECT * FRO...
  • xiaokang123456kao
  • xiaokang123456kao
  • 2017-04-18 21:46:37
  • 461

SQL中WHERE子句中的连接顺序

ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。...
  • shiyong1949
  • shiyong1949
  • 2015-07-13 14:48:08
  • 1015

4.2 WHERE子句操作符

4.2  WHERE子句操作符我们在关于相等的测试时看到了第一个WHERE子句,它确定一个列是否包含特定的值。SQL支持表4-1列出的所有条件操作符。表4-1  WHERE子句操作符 ...
  • zhaoxiaoyang5156
  • zhaoxiaoyang5156
  • 2007-07-24 22:58:00
  • 870

Oracle之Where子句中常用的运算符

1.运算符及优先级: 算数运算符: *,/ , + 、- 逻辑运算符: not,and,or 比较运算符 单行比较运算: =,>,>=,all,SQL> select ename,job,sal...
  • weixin_37121625
  • weixin_37121625
  • 2016-12-25 22:10:59
  • 2848

为什么聚集函数不能出现在where子句中

这是一个很有意思的问题,仔细地想一下其实很有道理。我们知道,聚集函数也叫列函数,它们都是基于整列数据进行计算的,而where子句则是对数据行进行过滤的,在筛选过程中依赖“基于已经筛选完毕的数据得出的计...
  • bluishglc
  • bluishglc
  • 2010-11-15 23:12:00
  • 11876

MySQL中的WHERE子句

MySQL中where子句的常用运算符
  • a781568222
  • a781568222
  • 2017-03-31 17:58:43
  • 1465
收藏助手
不良信息举报
您举报文章:6.使用where子句查询表中满足条件的记录
举报原因:
原因补充:

(最多只允许输入30个字)