SQL select 及相关操作

SQL是用于访问和处理数据库的标准的计算机语言,我们所使用的的是Oracle SQL

一个数据库通常包含一个或多个表,每个表有一个名字表示,下图即为一个名为“emp”的表,接下来的操作都将基于以下的表进行

SQL select 及相关操作

下述为select语法,注意:SQL对大小写不敏感

- SELECT 列名称 FROM 表名称
- select * from 表名称
  • SQL支持数学表达式 如

    select  ename,sal+300 from emp 
  • SQL可以使用" || "字段合并 如
    select ename || job as comployee from emp 
  • SQL 可以使用 select distinct 语句 删除重复字段 如
    select distinct job from emp
  • SQL可以使用 select where 子句 进行条件删除 如
select * from emp where sal = 800
select * from emp where comm is null //is 只能跟null一起使用
操作符 描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式

左列运算符可以在Where子句中使用:

在进行条件之筛选时,注意使用单引号引用文本值,而数值不需要符号引用,如

select * from emp where job = 'SALESMAN'

在进行日期的比较时,必须使用单引号围绕,注意Date的特殊存储形式,如:

select * from emp where hiredate = '20/2月/81'
  • SQL支持特殊的比较运算符:between…and… ,in,like(模糊搜索)如:

    select  * from emp where sal between 1000 and 1500
    select * from emp where job in ('CLERK','SALESMAN')
    select * from emp where ename like '%S%'

【通配符】

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。

在SQL中,可使用

通配符 描述
% 替代一个或多个字符
_ 仅替代一个字符
  • SQL支持使用ESCAPE标识符和'@'配合使用 实现对“%”和“_”的查找,如
select * from emp where ename like 'MAN@_%' escape '@'
  • SQL支持使用逻辑运算符:AND、OR和NOT,如:
select * from emp where job = 'SALESMAN' AND hiredate = '20/2月/81'

优先级顺序:算术运算符 > 连接运算符 > 比较运算符 > 特殊比较运算符 > not > and > or   ()级别最高

【例题】

select ename,job,sal from emp where sal > 2000 AND job ='MANAGER' OR job ='SALESMAN'
select ename,job,sal from emp where sal > 2000 AND (job ='MANAGER' OR job ='SALESMAN')
select Deptno,job,sal from emp where sal between 3000 and 5000
select ename,hiredate,job from emp where hiredate between '01-1月-81' and '31-12月-81' AND job like 'SALES%'
select ename,job,Deptno from emp where deptno in (10,20) AND (job='SALESMAN' OR job = 'MANAGER')
  • SQL支持使用ORDER BY语句进行排序,语法结构如下

  

    • 可以按照列名、表达式、列别名、结果集的列序号排序
    • ASC: 升序,默认值 DESC: 降序
    • ORDER BY 子句必须写在SELECT语句的最后
    • 多关键字排序,直接在by写多关键字,用逗号隔开
    • 排序也可以按列序号替代

如:

select ename,job,sal from emp order by sal
select ename,job,sal from emp order by Job,sal DESC

【东软实训】SQLselect及其相关操作的更多相关文章

  1. 逆袭之旅DAY15.东软实训.Oracle.约束、序列、视图、索引、用户管理、角色

    2018-07-11  08:26:00 有某个学生运动会比赛信息的数据库,保存了如下的表: 运动员sporter表:(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系dep ...

  2. 【东软实训】SQL函数

    SQL函数 SQL是用于访问和处理数据库的标准的计算机语言,我们所使用的的是Oracle SQL 一个数据库通常包含一个或多个表,每个表有一个名字表示,下图即为一个名为“emp”的表,接下来的操作都将 ...

  3. 东软实训1 -jsp内置对象及其常用方法

    JSP 的内置对象及方法详细说明 一. request 对象 客户端的请求信息被封装在 request 对象中,通过它才能了解到客户的需 求,然后做出响应.它是 HttpServletRequest ...

  4. 东软实训4-JDBC连接数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  5. 【东软实训】SQL多表链接

    如果一个查询同时涉及两个以上的表,则称之为链接查询,链接查询是关系数据库中最主要的查询,主要包括等值链接查询.非等值链接查询.自身链接查询.外链接查询和复合条件链接查询. 这篇博文我们来对多表链接进行 ...

  6. Python实训day07pm【Selenium操作网页、爬取数据-下载歌曲】

    练习1-爬取歌曲列表 任务:通过两个案例,练习使用Selenium操作网页.爬取数据.使用无头模式,爬取网易云的内容. ''' 任务:通过两个案例,练习使用Selenium操作网页.爬取数据. 使用无 ...

  7. 东软实训3-servlet基础

    Java Servlet技术的核心就是在服务端创建能响应用户请求的对象,被创建的对象习惯上称为一个Servlet对象. 编写一个创建servlet对象的类就是编写一个特殊类的子类,这个特殊的类就是ja ...

  8. 东软实训2-在jsp中使用javaBean

    在JSP中可以像使用普通类一样访问JavaBean,在脚本元素中实例化类的对象,调用对象的方法.JSP提供了3个动作元素,和来访问JavaBean. 1.1 动作用于初始化JavaBean,或者定位一 ...

  9. 逆袭之旅DAY17.东软实训.Oracle.PLSQL.过程,函数,包,练习

    2018-07-13 14:54:46 --1.创建一个包,包含一个为雇员加薪的过程,一个为雇员减薪的过程 CREATE OR REPLACE PACKAGE pac_test1 IS PROCEDU ...

随机推荐

  1. idea项目文件名为红色的解决办法

    设置项目的版本控制为none或者对应的版本控制,如下图,添加对应项目的版本控制为none:

  2. 并不对劲的bzoj3626:loj2558:p4211:[LNOI2014]LCA

    题目大意 有一棵有\(n\)(\(n\leq5*10^4\))个点的树,\(q\)(\(q\leq5*10^4\))次询问,每次给出\(l,r,x\)表示询问所有编号在\([l,r]\)的点与点\(x ...

  3. JQuery报表工具

    推荐18个基于 HTML5 Canvas 开发的图表库   如今,HTML5 可谓如众星捧月一般,受到许多业内巨头的青睐.很多Web开发者也尝试着用 HTML 5 来制作各种各样的富 Web 应用.H ...

  4. strcpy(转载)

    转自:http://www.kuqin.com/clib/string/strcpy.html 原型:extern char *strcpy(char *dest,char *src); 用法:#in ...

  5. linux下解压tgz文件(转载)

    转自:http://www.blogjava.net/chenlb/archive/2008/09/03/226654.html .tgz 解压:    tar zxvf myfile.tgz

  6. mybatis基础学习5---懒加载和缓存

    1:懒加载 1)在主配置文件设置(要放在配置文件最前面) 1 <!-- 延迟加载配置,两个都必须同时有 --> <settings> 3 <!-- lazyLoading ...

  7. 进击的Python【第十四章】:Web前端基础之Javascript

    进击的Python[第十四章]:Web前端基础之Javascript 一.javascript是什么 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编 ...

  8. 数据结构 - 链栈的实行(C语言)

    数据结构-链栈的实现 1 链栈的定义 现在来看看栈的链式存储结构,简称为链栈. 想想看栈只是栈顶来做插入和删除操作,栈顶放在链表的头部还是尾部呢?由于单链表有头指针,而栈顶指针也是必须的,那干吗不让它 ...

  9. [CF997E] Good SubSegment

    Description Transmission Gate 给你一个长度为n的排列P,定义一段子区间是好的,当且仅当这个子区间内的值构成了连续的一段.例如对于排列\(\{1,3,2\}\),\([1, ...

  10. A - Add More Zero

    Bryce1010模板 #include <bits/stdc++.h> using namespace std; #define LL long long int main() { in ...