zoukankan      html  css  js  c++  java
  • 数据查询的语言

    数据查询语言DQL 

    基本查询

    语法形式

    select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句]

    解释说明:

    select语句,作用是从“数据源”中,找出(取出)一定的数据,并作为该语句的返回结果(数据集)

    数据源:

    通常,数据源就是“表”。但:

    也可以没有数据源,而是使用“直接数据”(或函数执行结果)。

     [all | distinct]

    用于设定所select出来的数据是否允许出现重复行(完全相同的数据行)

    all:允许出现——默认不写就是All(允许的)。

    distinct:不允许出现——就是所谓的“消除重复行”。

    from子句

    就是指定数据的来源,其实就是“表”,可以是一个表名,也可以是多个表——多表查询了。

    where子句

    一个概念:where子句,相当于phpjs中的if条件语句:其最终结果就是布尔值(true/false

    phpif($n  % 4 == 0 && $n % 100 != 0  || $n % 400 == 0 ){}

    则:

    where  true,  where  1;    where 1=1;  都表示true

    where  false,  where  0;    where 1<>1;  都表示false

    where中可用的运算符:

    算术运算符: +  -  *  /   %

    比较运算符: >   >=   <    <=   =(等于)   <>(不等于)   

    ==(等于,mysql扩展),!=(不等于,mysql扩展)

    逻辑运算符: and(与)  or(或)   not(非)

    布尔值的判断方式:

    布尔值:本质上,布尔值只是一位整数的“别名”,0表示false,非0表示true

    判断为true:   XX  is  true

    判断为fale:   XX  is  false

    XX应该是一个字段名,且其类型应该是一个整数。

    实际应用中,布尔值判断很少用,因为可以直接使用数学大小。

    空值的判断方式:

    判断为null:   XX  is  null

    判断为非空:   XX  is  not  null

    XX应该是一个字段名

    between语法:

    XX  between  1  and   2

    含义:字段XX的值在值1和值2之间(含),相当于:XX >=1 and XX<=2

    in语法:XX in (1,2,3,4,5)        XX not in ()

    Xx = 1 or  xx = 2 or xx =3...

    XX  in (1,值2.......)

    含义:XX等于其中所列出的任何一个值都算成立,相当于:

    XX = 1  or XX = 2  or  XX = 2

    注意:其中的值1通常是“直接值”,但也可以是后面要学习的“查询结果值”

    like语法(模糊查找):

    语法形式: XX like  ‘要查找字符’;

    说明:

    1like语法(模糊查找)用于对字符类型的字段进行字符匹配查找

    2,要查找的字符中,有2个特殊含义的字符:

    2.1:  %   其含义是:代表任意个数的任意字符

    2.2:  _   其含义是:代表1个的任意字符

    2.3:这里的字符,都是指现实中可见的一个“符号”,而不是字节。

    3,实际应用中的模糊查找,通常都是这样:like %关键字%’;

    如果要查找的字符中包含%”或“_”,“’”,则只要对他们进行转义就可以:

    like  %ab\%cd%’ //这里要找的是: 包含 ab%cd 字符的字符

    like   ‘\_ab%’ //这里要找的是: _ab开头的字符

    like   ‘%ab’cd%’ //这里要找的是: 包含 ab’cd 字符的字符

    where子句前面必须有from子句。虽然他们2者都可以省略,但有from可以没有where,而有where必须有from

  • 相关阅读:
    关于jpa example使用
    文件下载
    文件夹下的文件根据最后修改时间排序
    前端验证图片是否加载成功
    LocalDate获取当天,本月第一天,本月最后一天,今年第一天,今年最后一天
    将word文档合成一张图片输出
    easyui前端分页与layui前端分页
    Java线程池源码流程图
    hexo发布到gitee和github上及主题优化
    【JVM之美】垃圾收集算法
  • 原文地址:https://www.cnblogs.com/hjc1234/p/9485266.html
Copyright © 2011-2022 走看看