数据库——操作数据库语句(select单表查询)

数据库——操作数据库语句(select单表查询)前两天又装了oracle,开始再次学习数据库,希望这次可以系统的学习,主要是语句的学习。数据库操作语句SQL一、select   查询语句二、DDL 数据 定义 语句(create、drop、alter)三、DML数据操作语句(insert delect update)四、TCL 事务控制  语句(commit提交、rollback撤销、savep

大家好,又见面了,我是你们的朋友全栈君。

前两天又装了oracle,开始再次学习数据库,希望这次可以系统的学习,主要是语句的学习。

数据库操作语句SQL

一、select    查询语句

二、DDL  数据  定义  语句(create、drop、alter)

三、DML 数据 操作 语句(insert  delect  update)

四、TCL  事务 控制   语句(commit 提交、rollback 撤销 、savepoint 保存)

一、SELECT
    1、select 字段名1,字段名2,字段名3 from 表名;  
    2、*代表所有的字段名,不推荐。(效率差一点)
    3、字段或者表达式
            +  –  *  /
         select salary,14*salary  from s_emp;
       一个月涨500之后,再显示:
         select salary+500,14*(salary+500)from s_emp;
    4、不让显示——起别名  空格。
         select salary+500   sal,14*(salary+500) Y_sal from s_emp;
    5、字符串怎么解决:单引号

    6、把两个字符拼接起来:||
         select  first_name || last_name  name  from  s_emp;

         用下划线隔开:

             select  first_name || ‘_’ || last_name  name  from  s_emp;

    7、特殊拼接:拼接一个单引号(转义的思想)

         select  first_name || ‘‘’’ || last_name  name  from  s_emp;

          拼接两个单引号??
          select  first_name || ‘‘’’ ||‘‘’’ || last_name  name  from  s_emp;

          select  first_name || ‘‘‘‘’’ || last_name  name  from  s_emp;

         两种方法都是对的。

   7、空值(null)的处理:(空值和任何值做运算 都是空值)
      select  salary sal ,
         salary*12(1+commission_pct)/100
              from  s_emp;
      nvl(part1,part2)  null值处理函数
          当part1为空值,就返回part2
          若part1不为空,就返回part1
      NULL要早点处理
      select  salary sal ,
         nvl(salary*12(1+commission_pct)/100,
              100) from  s_emp;

   8、把s_emp表中的manager_id查询出来,如果manage_id是空  就显示成-1;
      select  nv1(manager_id,-1)  from s_emp;

   9.数据的排重:distinct
     select salary from s_emp;
     select distinct salary from s_emp;

   二、where 语句
      1、作用:限制表中的行数剧,返回。
      2、两个
         from  表名 where 1=1;
         from  表名 where 1=2;
       —   代表单行注释

         把s_emp表中salary大于1400员工信息显示出来
                select * from s_emp where salary>1400;
         把s_emp表中salary大于1400员工信息显示出来
                select * from s_emp where salary=1400;
         把s_emp表中name叫CAI员工信息显示出来
                select * from s_emp where name=’CAI’;
         
      3、常见的条件运算符: =  > <  

      4、sql提供的运算符:
          4.1  表达式表达一个闭区间;[a,b]   between  a and b;
               把s_emp表中工资在1000到1500之间的员工信息
        显示出来
                select * from s_emp where salary between 1000 and 1500;
          4.2   表达式表示一个范围的取值:in
                where  id  in(2,5,7);
          4.3   模糊查询  like
                where  name  like ‘李%’;
                where  name  like ‘%小%’;
          4.4   特殊的转义处理: _和%
                where  name  like ‘S\_%’ escape ‘\’;
                找出所有__开头的表名
                where  name  like ‘S\_\_%’ escape ‘\’;

 三、空值的判断:  is  NULL
          1、找出提成是10的员工:
               select  id  from s_emp  where commission_pct = 10;
          2、找出提成不是10的员工:
               select  id  from s_emp  where commission_pct != 10;
          3、找出提成是NULL的员工:
          select  id  from s_emp  where commission_pct is  NULL;

总结;模糊查询 、空值的判断、。。。

      
     7.7 逻辑条件:
         and   where salary >=1400  and  salary <=2500;  
         or     
         not    
 
 八、数据的排序: order by  排序标准  排序方式(desc);
     按照一定的排序标准把数据按照升序或者降序的次序进行排序
             升序:默认  asc
             降序:desc
     
     排序中的NULL是如何处理的 :作为最大值。

查询的第四部分
 

    

一、单行函数
        特点:针对SQL语句的每一行,都返回一个结果。
   多行函数(组函数):
        特点:针对SQL语句的一组数据,都返回一个结果。
     eg:upper(part1)   字母变大写(单行函数)
         select  first_name,upper(first_name)
                 from  s_emp  where  id = 1;   一行
         select  first_name,upper(first_name)
                 from  s_emp  where  id < 1;   无结果
         select  first_name,upper(first_name)
                 from  s_emp  where  id > 1;   24个结果
 
         count(part1)   统计函数(组函数)
         select  first_name,count(first_name)
                 from  s_emp  where  id = 1;   出现错误
         select  count(first_name)
                 from  s_emp  where  id = 1;   正确  1
         select  count(first_name)
                 from  s_emp  where  id < 1;   0
         select  count(first_name)
                 from  s_emp  where  id > 1;   24

     1.3 测试表:dual
         单行单列的表
             select * from dual;
             select upper(‘hello’)  from dual;
     1.4  处理字符串的单行函数
        大写  upper(part1)   select upper(‘hello’)  from dual;
        小写  lower(part1)   select upper(‘HELLO’)  from dual;
        首字母大写   initcap(part1)    select initcap(‘hello  world’)  from dual;
        长度  length(part1)  select length(‘hello’)  from dual;          
        连接  concat(part1,part2)   select concat(‘hello  world’)  from dual;
              || 作为连接更加方便   select  first_name||last_name  name  from  s_emp;
        截取函数  substr(part1,part2,part1)
                part1:字符串
                part2:数字,从哪位开始截取,编号从1开始截取(C中是从0开始)
                part2:截取长度
    
        替换   replace(part1,part2,part1)
                part1:要处理的字符串
                part2:要被替换的内容
                part2:被替换成的内容
        to_char(part1,part2)
                part1:要处理的数字
                part2: 格式
                   ‘格式’:
                     fm:格式的开头
                      0:小数点前代表前置导零
                      9:0到9数字
                      ,:分隔符 千位
                      .:小数点
                     ¥:rmb
                      $:美元
            eg:select  to_char(12345,’fm$099,999.99′) from dual;
               select  to_char(12345.23,’fm$099,999.00′) from dual;
        按照如下格式显示工资:
           ‘fm$099,999.00’
               select  id,first_name,to_char(salary,‘fm$099,999.00’)  from  s_emp;

         1.8  处理数字函数:
              round(part1,part2)  四舍五入
                    part1:要处理数字
                    part2:默认0代表取整
                          1代表保留小数点后一位
                          -1代表对小数点前一位进行   四舍五入
                  select   round(2.54) from dual;
                  select   round(2.54,1) from dual;
                  select   round(2.54,-1) from dual;

             trunc  截取函数(用到的更多)
              trunc(part1,part2)  截取(数字,字符串等等)
                    part1:要处理数字
                    part2:默认0代表取整
                          1代表保留小数点后一位
                          -1代表对小数点前一位进行   截取
                  select   trunc(2.54) from dual;
                  select   trunc(2.54,1) from dual;
                  select   trunc(2.54,-1) from dual;
 
         1.9函数嵌套:把一个函数的返回值作为另一个的嵌套。
                      select  concat (concat(‘a’,’b’),concat(‘c’,’d’));
                      显示first_name 的后三个字符  length  substr
                  select  first_name,substr(first_name,length(first_name)-2,3)
                          from  s_emp;

附:

数据库连接

数据库——操作数据库语句(select单表查询)

创建表

数据库——操作数据库语句(select单表查询)

查询语句

数据库——操作数据库语句(select单表查询)

desc   显示表:

数据库——操作数据库语句(select单表查询)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于void (visit)(const ElemType &)的理解[通俗易懂]

    关于void (visit)(const ElemType &)的理解[通俗易懂]*关于void(visit)(constElemType&)的理解visit是一个函数指针,指向一个具体的函数,我们在具体使用visit时通过调用它(visit)的函数来调用它(visit)指向的函数,这个函数的形参列表为(constElemType&),看代码:template<classElemType>SeqList<ElemType&g…

    2022年5月12日
    35
  • harbor搭建详解(仓库阁楼搭建效果图)

    一、Harbor介绍Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的DockerRegistry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能二、环境准备Harbo…

    2022年4月18日
    49
  • php 7.2 if else endif 模板语法错误提示的处理

    php 7.2 if else endif 模板语法错误提示的处理

    2022年2月18日
    52
  • 金山词霸2007升级v10.0.0.4

    金山词霸2007升级v10.0.0.4词霸2007不但产品功能更加完善,而且在用户的体验方面也做了很多改进。首先,词霸07收录了150余本权威词典,70余个专业词库,同时支持28种常备资料线实时更新,让您随时拥有奥运知识、常用工具(货币单位等)等最新的资料;其次全面支持简体中文、英文、日文查词功能,满足更多用户需求;值得一提的是,词霸07收录了与朗文、牛津、韦氏齐名四大词典的《美国传统词典》最新版,英汉、英英双解,包含96000余词条

    2022年7月15日
    18
  • ubuntu 安装jdk

    ubuntu 安装jdkhttps://developer.aliyun.com/article/704959#:~:text=%E4%B8%80.%20Ubuntu%20%E5%AE%89%E8%A3%85JDK%E7%9

    2022年7月4日
    24
  • c# taskscheduler使用场合_hbase shell put

    c# taskscheduler使用场合_hbase shell put这里记录下TaskScheduler的简单用法。使用场景:在使用Task的时候,大家都知道用TaskFactory.StartNew可以用来创建一个Task。这里如果创建10个,那么这10个Task就各自放飞直接运行了。一般情况下是没什么大问题,如果这10个中的每个Task非常耗CPU或者内存,而公司的产品又是非常考验配置成本(比如一体机,移动设备等),就需要让这10个Task按照一定要求执行,比如串行执行,从而节省资源、让机器还可以顺畅去干别的事情。Task…

    2022年10月11日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号