Oracle 数据库常用SQL语句(2)查询语句

一、SQL基础查询

1、select语句

  格式:select 字段 from 表名;

  2、where 用于限制查询的结果。

  3、查询条件 > < >= <= = !=

  4、与 或(AND,OR)
  
  5、在 不在(IN,NOT IN)
  练习:查询工号为1,9,11,16且工资低于1000的员工。

  6、在 [a,b] (between val1 and val2)
    查询工资大于1000,小于1500的员工。

select * from s_emp where salary between 1000 and 1500;

  7、空 非空(IS NULL,NOT NULL)

  8、全部 任一(ALL,ANY)
    不能单独使用,必须要与关系运算符配合。
    查询职位是仓库管理员的工资。

select * from s_emp where title = ‘Stock Clerk‘;

    查询工资比任一仓库管理员高的员工信息。

select * from s_emp where salary > any(select salary from s_emp where title = ‘Stock Clerk‘);

  9、排重 DISTINCT
    练习:工资在1000~1500之间的职位有哪些。

select distinct title from s_emp where salary>=1000 and salary <1500 ;

二、排序

1、使用 ORDER BY 语句
  格式:select 字段 from 表名 where 条件 ORDER BY 字段;
    显示员工名字、职位、工号,按年薪从低到高的排列显示。

select last_name,title,id,salary from s_emp order by salary;

2、设置升序降序(ASC,DESC)
  格式:select 字段 from 表名 where 条件 ORDER BY 字段 ASC|DESC;
    显示员工名字、职位、工号,按年薪从高到低的排列显示。

select last_name,title,id,salary from s_emp order by salary desc; 

3、多项排序
  格式:select 字段 from 表名 where 条件 ORDER BY 字段 ASC|DESC,字段 ASC|DESC;

三、聚合函数

注意:在使用比较运算符时NULL为最大值,在排序时也会受影响。
把select语句的多条查询结果,汇聚成一个结果,这样的函数叫聚合函数。

1、MAX\MIN
  获取最大值和最小值,可以是任何数据类型,但只能获取一个字段。

select * from s_emp where salary = (select MAX(salary) from s_emp);

2、AVG\SUM
  获取平均值、总和。
3、COUNT
  统计记录的数量。

四、分组查询

1、GROUP BY
  格式:select 组函数 from 表 group by 字段。

select count(last_name) from s_emp group by dept_id;

2、HAVING 组判断条件。
  它的真假决定一组数据是否返回。
    计算部门中最低工资小于700的部门平均工资。

select count(last_name) from s_emp group by dept_id having max(salary) > 2000;

五、查询语句的执行顺序

格式:select sum(salary) from 表名 where bool order by group by having
  a、from 表名,先确定数据的来源。
  b、where 确定表中的哪些数据有效。
  c、group by 字段名,确定数据的分组依据。
  d、having 确定组数据是否返回。
  e、order by 对组数据进行排序。

六、关联查询

1、多表查询
  select 字段 from 表1,表2 where;
2、多表查询时有相同字段怎么办
  1、表名.字段名
  2、表名如果太长,可以给表起别名 (from 表 别名)
  3、笛卡尔积
  a 8条数据 b 9条数据 = 笛卡尔积
  在多表查询时,一定要设置where条件,否则将得到笛卡尔积。

七、连接查询

当使用多个表进行关联查询时,根据设置的条件会得到不同的结果(能匹配成功和不能匹配成功的)。
  1、内连接:右边两连能匹配成功的数据。

select last_name,name from s_emp,s_dept where dept_id = s_dept.id;

  2、外连接:左右两边不能匹配的数据。

select last_name,name from s_emp, left outer join s_dept on dept_id = s_dept.id。

  3、左外连接:匹配成功的数据+左表不能匹配的数据

select last_name,name from s_emp, left outer join s_dept on dept_id = s_dept.id。

  4、右外连接:匹配成功的数据+右表不能匹配的数据

select last_name,name from s_emp, right outer join s_dept on dept_id = s_dept.id。

  5、全外连接:匹配成功的数据+左表不能匹配的数据+右表不能匹配的数据

select last_name,name from s_emp, full outer join s_dept on dept_id = s_dept.id。

原文地址:https://www.cnblogs.com/unjack/p/9789280.html

时间: 2024-10-18 01:45:07

Oracle 数据库常用SQL语句(2)查询语句的相关文章

oracle数据库常用的99条查询语句(转载)

1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 from emp; 4. select job from emp; 5. select distinct job from emp; 6. select distinct empno, job from emp;说明:因为雇员编号不重复, 所以此时证明所有的列没有重复,所以不能消除掉重复的列. 7. 查询

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

Oracle 数据库常用sql语句及知识

<Oracle 数据库> 一.常用sql语句: 1.连接系统管理员账号:conn system/system(安装时口令); 2.创建新账号:create user Leo(账号名) identified by Leo(密码): 3.给新账号授权:grant connect,resource to Leo; 4.从某个账户收权:revoke resource from Leo; 5.连接新账号:conn Leo/Leo; 6.显示当前客户:show user; 7.查看表结构:desc s_e

Oracle数据库常用SQL

Oracle数据库创建实例的过程类似于Sql server创建数据库,Oracle一个实例可以对应多个表空间,一个表空间对应一个用户,根据不同的用户名.密码登录不同的表空间. 因此,创建表空间后,紧接着要创建用户并为其指定表空间.并授权给该用户,一般是connect.resource.dba权限 grant connect,resource,dba to yun 查询数据库名称: select name from v$database; 怎样查得数据库的sid.系统环境变量 select nam

oracle数据库常用SQL语句

1)删除表的一列 ALTER TABLE 表名 DROP COLUMN 列名; 2)增加表的一列 且默认值为0alter table 表名 add 字段名 类型 default '0'; 3)修改表的字段为NULLALTER TABLE 表名 MODIFY 要修改的字段名字 NULL; 4)修改表的字段名alter table 表名 rename column 原字段名 to 目标字段名;

Oracle数据库常用SQL函数

1.SQL函数的概念: 函数一般是在数据上执行的,它给数据的转换和处理提供了方便.只是将取出的数据进行处理,不会改变数据库中的值.(类似于java中的方法但函数只是将数据库中的数据取出(复制)到函数中进行运算,并不会修改数据库中的数据) 2.Sql函数可以分为组函数和单行函数. –单行函数对单个数值进行操作,并返回一个值–组函数又被称作聚合函数,用于对多行数据进行操作,并返回一个单一的结果,组函数仅可用于选择列表或查询的having子句 3.单行函数的分类: 单行函数分为字符函数.数字函数.日期

Oracle 数据库常用操作语句大全

Oracle 数据库常用操作语句大全 一.Oracle数据库操作 1.根据删除的时间查询出被删除的数据 select * from szdj_work_plan AS OF TIMESTAMP TO_TIMESTAMP('2018-1-19 16:51:37', 'yyyy-mm-dd hh24:mi:ss') where subject='测试一下删除0119' 1.表中唯一的最大的值 select hibernate_sequence.nextval from dual 1.创建数据库 cr

Oracle维护常用SQL语句

数据库人员手边系列:Oracle维护常用SQL语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2.查看表空间物理文件的名称及大小 select tables

Oracle SQL语言之查询语句_超越OCP精通Oracle视频教程培训29

Oracle SQL语言之查询语句_超越OCP精通Oracle视频教程培训29 本课程介绍: Oracle视频教程,风哥本套oracle教程培训是<<Oracle数据库SQL语言实战培训教程>>的第4/5套:Oracle SQL语言之查询语句.主要学习Oracle数据库SQL查询限制排序.Oracle SQL联接查询.Oracle SQL子查询等. 视频学习地址: http://edu.51cto.com/course/course_id-8047.html Oracle SQL语