笔记- DQL语句 select查询、where条件

DQL语句
  0 查询语句的所有关键词的书写顺序
       select  字段名1, 字段名2,...
       from    表名
       where   过滤条件
       group by  参与分组字段1,参与分组字段2,..
       having  过滤条件
       order by  排序字段1 排序方式,排序字段2 排序方式,...
   
   1 简单查询语句
     --.查询指定字段的数据
     select 字段名1,字段名2 from 表名;
     
     --查询员工所有字段
    方式一:将所有字段都罗列出来
    select 字段名1,字段名2,... from 表名;
    
    方式二:使用 通配符 *,* 表示表中的所有字段,其排列顺序是创建表时字段的顺序
    select * from 表名;
    
    * 的问题:
      1.在学习过程中,做练习的使用使用 * 查询所有信息更方便
      2.在工作中,养成好习惯不要写 * ,因为 * 会降低查询效率
         如果写 * ,那么系统是不知道表中到底有哪些字段的,需要查询数据词典来获取表中的所有字段信息
         相比于直接写 字段名,多了一步查询表中字段信息的操作,降低了查询效率 

 2 where 条件
   1.
比较运算
    =  <  <=  >  >=  !=  <> 

    
   2.
逻辑运算
    与  and
        条件A and 条件B  只有条件A成立(条件A的值为true)且条件B也成立时, A and B 成立
    或  
or
        条件A or 条件B  只要条件A 或条件B其中一个成立, A or B 成立
    非  
not
        not 条件A  条件A 不成立 则 not 条件A 成立
        
   3.
范围条件
     连续范围: between A and B 
     where 字段 between A and B  表示字段的值在A 到 B之间,可以取值A和B
        字段 >= A and 字段 <= B
      注意: 
        1.如果想要使范围有意义,则A的值必须小于B 
        
     where not 字段 between A and B  字段的值不在A到B之间,不能取值A和B 
        字段 < A or 字段 > B  
     
     
   
 不连续范围 
     in(结合)
     where 字段 in(A,B,C,...) 字段的值只要等于集合中任意一个值就成立
        字段 = A or 字段 = B or 字段 = C  
        
     where 字段 not in(A,B,C,...) 字段的值不能等于集合中的任何一个值
        字段 != A and 字段 != B and 字段 != C  
       
   
 any(集合)  
     where 字段 = any(A,B,C,...) 字段的值只要等于集合中任意一个值就成立    
        字段 = A or 字段 = B or 字段 = C
     
     where not 字段 = any(A,B,C,...) 字段的值不能等于集合中的任何一个值 
        字段 != A and 字段 != B and 字段 != C 
        
     where 字段 != any(A,B,C,...) 字段的值只要不等于集合中的一个值成立  
        字段 != A or 字段 != B or 字段 != C
        
   
 all(集合)
     where 字段 = all(A,B,C,...) 字段中的值必须等于集合中的所有值 
          字段 = A and 字段 = B... 
     where 字段 < all(A,B,C,...)
           字段 < A and 字段 < B... 
           
     where not 字段 = all(A,B,C,...)  字段的值只要不等于集合中的一个值就成立 
            字段 != A or 字段 != B... 
            
     where 字段 != all(A,B,C,...)  字段的值不能等于集合中的任何一个值
          字段 != A and 字段 != B...  

4.模糊查询  like 
    通配符:
      % : 代表任意多个字符
      _ : 代表任意单个字符

    
    转义字符: 功能 将特殊字符的特殊去除,只保留其原本字符的含义
      在MySQL的默认转义字符是 \ 
      在Oracle中需要自定义转义字符  escape '转义字符' 
      
   
where 字段 like '...'  

例子:

-- 查询emp表中ename名字中含有字母 O 的员工
Select  ename
From  emp
Where  ename like  ' % O % ' ;

-- 查询emp表中ename第二个字母是 O 的员工
Select   ename 
From  emp
Where  ename Like  ' _ O % ' ;

-- 查询emp表中ename名字中含有 _ 的员工
select  ename
From  emp
Where  ename Like  ' %S_% ' Escape  ' S ';

5.空值判断
   where 字段 is null   字段的值为空 条件成立
   
   where 字段 is not null  字段的值不为空,条件成立

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值