1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Oracle在命令行中输入clear 【Oracle】曾经的Oracle学习笔记(1-3) 数据库常见用语

Oracle在命令行中输入clear 【Oracle】曾经的Oracle学习笔记(1-3) 数据库常见用语

时间:2022-04-23 13:30:12

相关推荐

Oracle在命令行中输入clear 【Oracle】曾经的Oracle学习笔记(1-3) 数据库常见用语

1、数据库的登陆sql

2、数据库经常使用语数据库

3、测试表的建立,测试数据初始化编程

4、常见命令介绍浏览器

5、测试缓存

user:jeffrey

sn:jeffreysession

user:system

sn:jeffreyoracle

浏览器中输入:

http://127.0.0.1:8080/apex

管理员登录

user:sys

sn:jeffrey编程语言

打开服务列表:

win+r打开运行框,输入services.msc

OracleServiceXE服务必定要是打开的,要否则oracle根本登陆不了。

OracleXETNSLintener服务是在咱们使用JDBC的时候须要打开的一个服务。编辑器

建立数据库用户:

user:briup

sn:briupide

-------------------------

打开服务列表:

运行框中输入services.msc

----------------------------------------------

登陆oracle的几种方法

sqlplus user/sn 直接用user身份登陆

sqlplus 而后根据提示输入用户名,密码

用dba的身份登陆到oracle数据库

命令行中输入:

sqlplus "/as sysdba"

注:若是命令不识别,那么就须要配置一下环境变量path,把sqlplus.exe文件所在目录的路径配置在path中

show user

在dos中建立用户:

create user 用户名 identified by 密码;

create user briup identified by briup;

给用户受权

grant connect,resource to briup;

给帐户解锁

alter user briup account unlock;

conn user; 切换到用户user

conn jeffrey as sysdba; //从jeffrey用户切换到sysdba的身份登陆

grant create table,create view to jeffrey;//给jeffrey受权建立view的权限

conn jeffrey/jeffrey; //切换到以jeffrey的身份登陆,用户名/密码

若是发现用户被锁定了那么就给帐户解锁

alter user briup set account unlock;

查看当前登陆用户

show user

在sqlplus中清屏:

$cls (Windows平台下面)

!clear (Unix平台下面)

$cls 清屏

exit 退出

----------------------------------

sql语句的基本格式:

select ...

from ..

where ...

group by ...

having ...

order by ..

-------------------------------

oracle中的Object:

Table View Sequence Index Synonym

---------------------------------------------------------

sql 第四代编程语言

特色:只关心作什么,不关心怎么作

sqlplus: 是一个工具,能够把sql语句拿到oracle中切执行,而且显示执行结果。

PL/SQL:能够在sql的基础加入逻辑控制单元

---------------------------------------------------、

使用sql语言在oracle中能够作哪些事情:

数据库操纵语言

Data manipulation language (DML)

INSERT, UPDATE, DELETE

数据库定义语言

Data definition language (DDL)

CREATE, ALTER, DROP, RENAME, TRUNCATE

数据库控制语言

Data control language (DCL)

GRANT, REVOKE

数据库查询:

SELECT

数据库事务:

COMMIT, ROLLBACK, SAVEPOINT

------------------------------------------------------------

登陆数据库:

sqlplus

直接回车输入而后根据提示输入用户名和密码

sqlplus 用户名

而后根据提示输入密码

sqlplus 用户名/密码

而后回车就能够了

---------------------------------------------------------------

查看当前用户下面有哪些表能够操做

select table_name

from user_tables;

注:sql语句中的字母大小写是不敏感

SELECT TABLE_NAME

FROM USER_TABLES;

这个和上面的小写的sql语句结果是同样的

可是oracle中的字符串就会大小写敏感

'Hello' 和 'hello' 是不一样的

查看某张表(例如,s_emp表)中的列名和列的属性

desc s_emp;

在sql语句最后要加上分号;

要否则这个sql语句不会被执行。

--------------------------

sql语句的基本格式:

select ...

from ..

where ...

group by ...

having ...

order by ..

---------------------------

s_region 地区表

s_dept 部门表

s_emp 员工表

改变语言环境,以保证接下来插入日期能被识别

alter session set nls_language=english;

注:在建表插入数据以前,先把当前会话(session)的语言环境设置为英文,由于在下面的插入数据的操做中须要插入英文格式的日期数据.

alter session set nls_language=english;

************************************************

建表命令

第一张表 s_region

建表语言:

CREATE TABLE s_region

(id NUMBER(7)

CONSTRAINT s_region_id_nn NOT NULL,

name VARCHAR2(50)

CONSTRAINT s_region_name_nn NOT NULL,

CONSTRAINT s_region_id_pk PRIMARY KEY (id),

CONSTRAINT s_region_name_uk UNIQUE (name));

第一张表中插入数据:

INSERT INTO s_region VALUES (

1, 'North America');

INSERT INTO s_region VALUES (

2, 'South America');

INSERT INTO s_region VALUES (

3, 'Africa / Middle East');

INSERT INTO s_region VALUES (

4, 'Asia');

INSERT INTO s_region VALUES (

5, 'Europe');

COMMIT;

第二张表: s_dept

建表语句:

CREATE TABLE s_dept

(id NUMBER(7)

CONSTRAINT s_dept_id_nn NOT NULL,

name VARCHAR2(25)

CONSTRAINT s_dept_name_nn NOT NULL,

region_id NUMBER(7),

CONSTRAINT s_dept_id_pk PRIMARY KEY (id),

CONSTRAINT s_dept_name_region_id_uk UNIQUE (name, region_id));

第二张表插入数据:

INSERT INTO s_dept VALUES (

10, 'Finance', 1);

INSERT INTO s_dept VALUES (

31, 'Sales', 1);

INSERT INTO s_dept VALUES (

32, 'Sales', 2);

INSERT INTO s_dept VALUES (

33, 'Sales', 3);

INSERT INTO s_dept VALUES (

34, 'Sales', 4);

INSERT INTO s_dept VALUES (

35, 'Sales', 5);

INSERT INTO s_dept VALUES (

41, 'Operations', 1);

INSERT INTO s_dept VALUES (

42, 'Operations', 2);

INSERT INTO s_dept VALUES (

43, 'Operations', 3);

INSERT INTO s_dept VALUES (

44, 'Operations', 4);

INSERT INTO s_dept VALUES (

45, 'Operations', 5);

INSERT INTO s_dept VALUES (

50, 'Administration', 1);

COMMIT;

第三张表 s_emp

CREATE TABLE s_emp

(id NUMBER(7)

CONSTRAINT s_emp_id_nn NOT NULL,

last_name VARCHAR2(25)

CONSTRAINT s_emp_last_name_nn NOT NULL,

first_name VARCHAR2(25),

userid VARCHAR2(8),

start_date DATE,

comments VARCHAR2(255),

manager_id NUMBER(7),

title VARCHAR2(25),

dept_id NUMBER(7),

salary NUMBER(11, 2),

commission_pct NUMBER(4, 2),

CONSTRAINT s_emp_id_pk PRIMARY KEY (id),

CONSTRAINT s_emp_userid_uk UNIQUE (userid),

CONSTRAINT s_emp_commission_pct_ck

CHECK (commission_pct IN (10, 12.5, 15, 17.5, 20)));

第三张表插入数据:

INSERT INTO s_emp VALUES (

1, 'Velasquez', 'Carmen', 'cvelasqu',

to_date('03-MAR-90 8:30', 'dd-mon-yy hh24:mi'), NULL, NULL, 'President',

50, 2500, NULL);

INSERT INTO s_emp VALUES (

2, 'Ngao', 'LaDoris', 'lngao',

'08-MAR-90', NULL, 1, 'VP, Operations',

41, 1450, NULL);

INSERT INTO s_emp VALUES (

3, 'Nagayama', 'Midori', 'mnagayam',

'17-JUN-91', NULL, 1, 'VP, Sales',

31, 1400, NULL);

INSERT INTO s_emp VALUES (

4, 'Quick-To-See', 'Mark', 'mquickto',

'07-APR-90', NULL, 1, 'VP, Finance',

10, 1450, NULL);

INSERT INTO s_emp VALUES (

5, 'Ropeburn', 'Audry', 'aropebur',

'04-MAR-90', NULL, 1, 'VP, Administration',

50, 1550, NULL);

INSERT INTO s_emp VALUES (

6, 'Urguhart', 'Molly', 'murguhar',

'18-JAN-91', NULL, 2, 'Warehouse Manager',

41, 1200, NULL);

INSERT INTO s_emp VALUES (

7, 'Menchu', 'Roberta', 'rmenchu',

'14-MAY-90', NULL, 2, 'Warehouse Manager',

42, 1250, NULL);

INSERT INTO s_emp VALUES (

8, 'Biri', 'Ben', 'bbiri',

'07-APR-90', NULL, 2, 'Warehouse Manager',

43, 1100, NULL);

INSERT INTO s_emp VALUES (

9, 'Catchpole', 'Antoinette', 'acatchpo',

'09-FEB-92', NULL, 2, 'Warehouse Manager',

44, 1300, NULL);

INSERT INTO s_emp VALUES (

10, 'Havel', 'Marta', 'mhavel',

'27-FEB-91', NULL, 2, 'Warehouse Manager',

45, 1307, NULL);

INSERT INTO s_emp VALUES (

11, 'Magee', 'Colin', 'cmagee',

'14-MAY-90', NULL, 3, 'Sales Representative',

31, 1400, 10);

INSERT INTO s_emp VALUES (

12, 'Giljum', 'Henry', 'hgiljum',

'18-JAN-92', NULL, 3, 'Sales Representative',

32, 1490, 12.5);

INSERT INTO s_emp VALUES (

13, 'Sedeghi', 'Yasmin', 'ysedeghi',

'18-FEB-91', NULL, 3, 'Sales Representative',

33, 1515, 10);

INSERT INTO s_emp VALUES (

14, 'Nguyen', 'Mai', 'mnguyen',

'22-JAN-92', NULL, 3, 'Sales Representative',

34, 1525, 15);

INSERT INTO s_emp VALUES (

15, 'Dumas', 'Andre', 'adumas',

'09-OCT-91', NULL, 3, 'Sales Representative',

35, 1450, 17.5);

INSERT INTO s_emp VALUES (

16, 'Maduro', 'Elena', 'emaduro',

'07-FEB-92', NULL, 6, 'Stock Clerk',

41, 1400, NULL);

INSERT INTO s_emp VALUES (

17, 'Smith', 'George', 'gsmith',

'08-MAR-90', NULL, 6, 'Stock Clerk',

41, 940, NULL);

INSERT INTO s_emp VALUES (

18, 'Nozaki', 'Akira', 'anozaki',

'09-FEB-91', NULL, 7, 'Stock Clerk',

42, 1200, NULL);

INSERT INTO s_emp VALUES (

19, 'Patel', 'Vikram', 'vpatel',

'06-AUG-91', NULL, 7, 'Stock Clerk',

42, 795, NULL);

INSERT INTO s_emp VALUES (

20, 'Newman', 'Chad', 'cnewman',

'21-JUL-91', NULL, 8, 'Stock Clerk',

43, 750, NULL);

INSERT INTO s_emp VALUES (

21, 'Markarian', 'Alexander', 'amarkari',

'26-MAY-91', NULL, 8, 'Stock Clerk',

43, 850, NULL);

INSERT INTO s_emp VALUES (

22, 'Chang', 'Eddie', 'echang',

'30-NOV-90', NULL, 9, 'Stock Clerk',

44, 800, NULL);

INSERT INTO s_emp VALUES (

23, 'Patel', 'Radha', 'rpatel',

'17-OCT-90', NULL, 9, 'Stock Clerk',

34, 795, NULL);

INSERT INTO s_emp VALUES (

24, 'Dancs', 'Bela', 'bdancs',

'17-MAR-91', NULL, 10, 'Stock Clerk',

45, 860, NULL);

INSERT INTO s_emp VALUES (

25, 'Schwartz', 'Sylvie', 'sschwart',

'09-MAY-91', NULL, 10, 'Stock Clerk',

45, 1100, NULL);

COMMIT;

*****************************************************

s_region地区表

ID 地区的编号

NAME 地区的名字

s_dept部门表

ID 部门编号

NAME 部门名字

REGION_ID 部门所在地区编号

s_emp 员工表

ID 员工的编号

LAST_NAME

FIRST_NAME

USERID

START_DATE 入职时间

COMMENTS

MANAGER_ID 这个员工的领导的id号

TITLE 职位

DEPT_ID 所在部门编号

SALARY

COMMISSION_PCT 提成率

----------------------------------------------------

查找

select last_name from s_emp;

调整列名下面分割线的长度(非数字列)

col last_name for a15; //调节last_name 这列的a(小横线)到15格

查看多列数据用逗号隔开

注:这个逗号必定要是英文输入法下面的逗号

select column1,column2,column3...

from 表;

查看表中全部的列用*

select *

from 表;

给查询的某一列起一个别名(显示用的,并不改变数据库中的表列名),空格隔开

select last_name,salary sal from s_emp; //将salary列名显示为sal

--------------------------------------------------------

调整列名下面分割线的长度(非数字列)

col last_name for a15;

查看某一列上面设置的格式

col last_name

清空某一列上面设置的格式

col last_name clear

select last_name

from s_emp;

查看多列数据用逗号隔开

注:这个逗号必定要是英文输入法下面的逗号

select column1,column2,column3...

from 表;

例如:

select id,last_name,dept_id,salary

from s_emp;

查看表中全部的列用*

select *

from 表;

select *

from s_emp;

给查询的某一列起一个别名

select last_name name

from s_emp;

select id myId,last_name MyName,salary MySalary

from s_emp;

DISTINCT

distinct //做用:能够用来去除重复的数据,注:数据是否重复是按照当前显示的一行是否彻底同样断定的。

select dept_id

from s_emp;

select distinct dept_id

from s_emp;

在查询的过程当中能够加入加减乘除

Add +

Subtract -

Multiply *

Divide /

select salary

from s_emp;

select salary*12 salaryOfYear

from s_emp;

select ((salary+1000)*20-50000)/15-20000

from s_emp;

select last_name,first_name

from s_emp;

||是能够链接俩个字符串的值或者是俩个字符串列上面的值。

select first_name||last_name full_name

from s_emp;

select 'hello'||'world'

from dual;

dual 哑表

注:dual是oracle中的一张表,每个用户均可以使用。当前咱们直接查询一个运算式子或者是日期的时候就能够用这张表。

函数

nvl(列名,替换的新值) //做用:能帮咱们把某一列上面是null的值替换为另外一个值

select last_name,nvl(commission_pct,0) from s_emp;

练习:查询一个s_emp表中全部人的工资,若是是销售人员,那么就把他的工资加上提成以后再显示(在原来基础工资的基础加入上提成)

select last_name,salary+salary*(nvl(commission_pct,0)/100) from s_emp;

-------------------------------------------------------------

sql语句中的【小技巧】

在sql*plus工具中,会有一个buffer(缓存),这个buffer中只能存放一条sql语句(无论这条sql语句多少行),buffer中会存放着咱们最近一次执行过的一条sql语句。

L或者l //大写或小写均可以list,显示buffer中存放的sql语句

/ //这一命令能够执行buffer中的sql语句

2 //选择buffer中的第二行

a //在buffer中的sql语句的某一行(选择的那一行)后面增长内容,a后面跟的内容

i //在buffer中的sql语句中的某一行(选择的那一行)下面插入一行,i后面跟的内容

del //删除某一行(选择的那一行)

c/ma/me //将某一行(选择的那一行)中的ma替换成me

2 新代码 //将buffer中第2行中的代码所有重写为新代码

save LL.sql //将buffer中的额内容保存到文件LL.sql中,文件在登陆sql前的路径存放。

clear buffer //清空缓冲区

start LL.sql //执行文件LL.sql中保存的命令。

@LL.sql //执行文件LL.sql中保存的命令。

edit LL.sql //修改LL.sql文件,使用系统中默认的编辑器打开

get LL.sql //显示LL.sql文件中存储的命令。

spool spool.sql //将接下来的操做记录在spool.sql文件中直到spool off

spool off //记录结束

--------------------------------------------

将salary列中的数字显示为9,999的形式,如2391显示为2,391

col salary for $9,999

select salary from s_emp;

将不足的显示为0,如4399显示为004,399

col salary for $099,999.99

将货币符号显示为本地的

col salary for L099,999.99

修改数字列显示的格式:

未来这个数字按照这样的格式来显示

col salary for $9,999.99

例如:2500 ---> $2,500.00

这个表示未来数字必定要显示成整数为6位,不够6位的前面补0

col salary for $099,999.99

例如:2500 ---> $002,500.00

L表示使用本地的货币符号来表示

col salary for L099,999.99

例如:2500 ---> ¥002,500.00

--------------------------------

order by 排序

默认是升序

select last_name,salary

from s_emp

order by salary;

加上desc后就会变为降序

select last_name,salary

from s_emp

order by salary desc;

经过日期排序

select last_name,salary,start_date

from s_emp

order by start_date;

经过字符串排序

select last_name,salary

from s_emp

order by last_name;

按要查询的第2个列进行排序

select last_name,salary

from s_emp

order by 2;

where子句: 条件查询

select last_name

from s_emp

where dept_id = 41;

= > >= < <=

BETWEEN ... AND...

例如:

注:这时候也包括41和50这个俩个部门

select last_name,dept_id

from s_emp

where dept_id between 41 and 5

语言环境此时为中文,因此日期用中文格式

select last_name,start_date

from s_emp

where start_date between '03-3月-90'

and '17-6月-91';

语言环境改成英文

alter session set nls_language=english;

语言环境改成简体中文

alter session set nls_language='simplified chinese';

IN(list)

例如:

查询41,42,43,44,45部门中的员工信息

select last_name,dept_id

from s_emp

where dept_id in(41,42,43,44,45)

LIKE

通常用做模糊查询

%表明可能有0个或者多个字符

_表明有一个字符

escape能够忽略某些字符

/至关于转义符号

查询名字的首字母是N的员工信息

select last_name,salary

from s_emp

where last_name like 'N%';

查询名字中以_g开头的员工信息

select last_name,salary

from s_emp

where last_name like '/_g%' escape'/';

IS NULL

例如:

select last_name,commission_pct

from s_emp

where commission_pct is null;

AND

OR

例如:

salary<1450

salary>1100

dept_id = 41

select last_name,salary,dept_id

from s_emp

where dept_id=41 or salary>1100 and

salary<1450

注:and的优先级比or高

NOT

!= <> ^=

这三个都是不等于的意思

NOT BETWEEN

NOT IN

NOT LIKE

IS NOT NULL

ANY

例如:

select last_name,salary

from s_emp

where salary > any(3000,2000,1000,500);

至关于如下语句

where salary>3000

or salary>2000

or salary>1000

or salary>500

ALL

例如:

select last_name,salary

from s_emp

where salary > all(3000,2000,1000,500);

至关于如下语句

where salary>3000

and salary>2000

and salary>1000

and salary>500

--------------------------------------

函数

分两类:

单值函数

组合函数/聚合函数/组函数

单值函数

---------

1.字符串函数

LOWER 把一个字符串或者字符串类型的列上面的值转换成小写

例如:

select lower('HELLO')

from dual;

select lower(last_name)

from s_emp;

UPPER 把一个字符串或者字符串类型的列上面的值转换成大写

INITCAP 把一个字符串或者字符串类型的列上面的值转换成首字母大写,其余字符小写

例如:

select initcap('hELLOWoRld')

from dual;

结果显示: Helloworld

CONCAT 连接俩个字符串或者字符串列上面的值.

例如:

select concat('hello','world')

from dual;

select concat(last_name,first_name)

from s_emp;

SUBSTR 截取字符串

例如:

第一个参数:要被截取的字符串

第二个参数:从哪一个位置来讲截取(下标从1,2,3....)

第三个参数:要截取的字符串长度

select substr('hello',1,1)

from dual;

select substr(last_name,1,2)

from s_emp;

LENGTH 返回字符串或者字符串列上面值的长度

例如:

select length('hello')

from dual;

NVL

2.数字函数

ROUND 四舍五入

第一个参数:要操做的数字

第二个参数:须要保留的位数

正数表示保留小数点右边多少位。

0表示保留到个位,默认这个参数值就是为0

-1表示保留到十位,以此类推

例如:

select round(45.923,2)

from dual; --->45.92

select round(45.923,0)

from dual; --->46

select round(45.923)

from dual; --->46

select round(45.923,-1)

from dual; --->50

TRUNC 和ROUND的用法同样,惟一不一样的就是这个TRUNC函数只会舍去值而不会进位,无论那位上是0或者是9都不会进位。

MOD 取余

例如:

select mod(50,30)

from dual; --->20

3.日期函数

oracle表示日期的第一种方式:

关键字sysdate表示当前的日期时间

sysdate的单位是天

例如:

select sysdate

from dual;

sysdate+365表示从当前时间日后推1年

(sysdate+365)总体表明的是一个日期

select sysdate+365

from dual;

sysdate+1/24表示从当前时间日后推1小时

(sysdate+1/24)总体表明的是一个日期

select sysdate+1/24

from dual;

oracle中表示日期的第二种方式:

用一个字符串来表示一个日期,只不过这个字符串要按照oracle默认的日期格式来写。

例如

'14-MAY-90'

'14-5月-90'

注:要和session的语言环境一致

oracle中表示日期的第三种方式:

借助于日期转换函数来得到一个日期数据

to_date('string','date_format')

MONTHS_BETWEEN 俩个日期之间相差多少我的,返回的结果单位是月

例如:

select months_between(sysdate,sysdate+365)

from dual; --->12

ADD_MONTHS 在给定的一个日期点上面日后退一个1月,返回的结果是一个日期数据

例如:

select add_months(sysdate,1)

from dual;

NEXT_DAY 表示基于当前给定日期状况下,下一个星期几是多少号,返回的结果是一个日期数据

例如:

select next_day(sysdate,'MONDAY')

from dual;

中文session

select next_day(sysdate,'星期一')

from dual; --->01-7月 -13

LAST_DAY 基于给定日期所在的月份,返回这个月份最后一天的日期,返回结果是一个日期数据

例如:

select last_day(sysdate)

from dual;

ROUND 对日期进行四舍五入

例如:

这样是错误的,由于oracle会把这个日期当作一个数字,由于数字函数里面也有round这个函数。

select round('25-MAY-95','month')

from dual;

这个是正确的

select round(to_date(...),'month')

from dual;

select round(sysdate-53,'month')

from dual;

保留到月份结论:

不论是28天仍是2九、30、31,

16号的都是进位,15都是舍去。

select round(sysdate+82,'year')

from dual;

保留到年的结论:

7月1号之后的时间才会进位

TRUNC 和round相似,可是只会舍去不会进位。

4.字符串、数字、日期相互转换的函数

to_char 把日期或者数字转换为字符串

to_char(date,'date_format')

例如:

select to_char(sysdate,'ddd-Month-Year HH24:mi:ss')

from dual;

千年虫

yy rr

select to_char(3500,'$0999,999')

from dual;

to_number 把字符串转化为数字

例如:

select to_number('20')

from dual;

to_date 把一个字符串转换为日期

to_date('string','date_format')

例如:

select to_date('/4/10','yyyy/mm/dd')

from dual;

注意:单值函数之间是能够相互嵌套使用的.

例如:

select concat(lower('HELLO'),upper('world'))

from dual;

组合函数/聚合函数/组函数

group by子句: 分组

having子句: 条件筛选

经常使用的组函数:

avg 平均值

count 计数

sum 求和

max 最大值

min 最小值

查询s_emp表中全部员工的工资总和

select sum(salary)

from s_emp;

查询s_emp表中全部员工的平均工资

select avg(salary)

from s_emp;

查询s_emp表一共有多少个员工

select count(*)

from s_emp;

查询s_emp表中最大工资数是多少

select max(salary)

from s_emp;

查询s_emp表中最小工资数是多少

select min(salary)

from s_emp;

--------------------------------------------------------

group by子句: 分组

having子句: 条件筛选

where和having的区别:

这个俩个均可以做为条件筛选语句,可是where后面不能出现组函数,having语句后面能够出现组函数

查询一张表的时候,若是没有分组,直接使用了组函数,那么就会默认整张表的全部数据就是一个小

组,那么这个组函数就会直接做用到整张表上。

若是进行了group by分组,那么会把整张分为若干个小组,而后组函数会分别做用到每个小组上,

最后每个小组都会有本身的一个结果(好比说求的平均值或求的总和)。

通常状况,组函数都会结合group by子句来使用

查询s_emp表中每个部门的员工的工资总和

select dept_id,sum(salary)

from s_emp

group by dept_id

order by dept_id;

查询s_emp表中每个部门的员工的工资总和,而且只显示出工资总和大于2000的部门

select dept_id,sum(salary)

from s_emp

group by dept_id

having sum(salary)>2000

order by dept_id;

这样写是错误的!!!!where 后面不能跟组函数

select dept_id,sum(salary)

from s_emp

where sum(salary)>2000

group by dept_id

order by dept_id;

查询每个部门的平均工资

select dept_id,avg(salary)

from s_emp

group by dept_id

order by avg(salary);

注:order by是能够用组函数执行结果进行排序的

查询s_emp表中最大的工资数

select max(salary)

from s_emp;

Oracle在命令行中输入clear 【Oracle】曾经的Oracle学习笔记(1-3) 数据库常见用语 常见命令 建立测试表...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。