数据库——操作数据库语句(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单表查询)

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • C语言入门项目篇:贪吃蛇(完整代码+详细注释)「建议收藏」

    C语言入门项目篇:贪吃蛇可直接运行。#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<time.h>#include<conio.h>/*大一上的时候C语言入门学的一个小游戏。还是挺有意思的,有兴趣的同学可以继续优化下:比如蛇头碰到蛇身就判定为输/给蛇身加点颜色等。*///1.2食物结构体#defineMAPHEIGHT25#defi

  • sql存储过程简单例题_sql存储过程实例详解

    sql存储过程简单例题_sql存储过程实例详解1、创建存储过程P1,查询每个学生的修课门数,要求列出学生学号、姓名及修课门数。createprocP1asselectStudent.StudentID,StudentName,count(CourseID)选修门数fromStudentjoinGradeonGrade.StudentID=Student.StudentIDgroupbyStudent.StudentID,StudentNamego2、创建存储过程P2,查询学生的学号、姓名、课程名、成绩

  • 计算机水平考试模块数量,职称计算机考试科目、模块数量是什么「建议收藏」

    计算机水平考试模块数量,职称计算机考试科目、模块数量是什么「建议收藏」职称计算机考试科目、模块数量是什么全国计算机应用能力考试坚持”实事求是,区别对待,逐步提高”的原则,不同地区、不同部门根据本地区、本部门的实际情况,确定适合本地区、本部门的考试范围要求。1、不同地区和部门自主确定应考科目数量在对专业技术人员计算机应用能力的具体要求上,各省、自治区、直辖市人事厅(局)和国务院有关部门干部(人事)部门应结合本地区、本部门的实际情况,确定本地区、本部门在评聘专业技术职务…

  • 7种方法求解八数码问题

    【八数码问题】//https://vijos.org/p/1360在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。【分析】题目读完第一感

  • std::ostringstream的用法

    std::ostringstream的用法原文:ostringstream的用法使用stringstream对象简化类型转换为什么要学习进入stringstream你的编译器支持吗?string到int的转换重复利用stringstream对象在类型转换中使用模板结论一些实例例子一:基本数据类型转换例子int转string例子二:除了基本类型的转换,也支持char*的转换。例子三:再进行多次转换的时候,必须调用stringstre…

  • 全面解决Generic host process for win32 services遇到问题需要关闭

    全面解决Generic host process for win32 services遇到问题需要关闭解决WIN补丁系统开机后弹出Generichostprocessforwin32services遇到问题需要关闭!出现上面这个错误一般有三种情况。1.就是补丁。开机后会提示GenericHostProcessforWin32Services遇到问题需要关闭”“RemoteRrocedureCall(RPC)服务意外终止,然后就自动重起电脑。一般该病毒会在补丁HKEY_

    2022年10月12日

发表回复

您的电子邮箱地址不会被公开。

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