1. 程式人生 > >oracle 基本查詢語句及實例

oracle 基本查詢語句及實例

空值 into microsoft clas 運算 cor select like sse

1、查詢所有列

select * from 表名;

2、查詢表結構

desc 表名;

3、查詢指定列

select ename,sal,job from 表名;

4、racle中查看所有表和字段

獲取表:

select table_name from user_tables; //當前用戶的表

select table_name from all_tables; //所有用戶的表

select table_name from dba_tables; //包括系統表

select table_name from dba_tables where owner=‘用戶名‘

user_tables:

table_name,tablespace_name,last_analyzed等

dba_tables:

ower,table_name,tablespace_name,last_analyzed等

all_tables:

ower,table_name,tablespace_name,last_analyzed等

all_objects:

ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等

獲取表字段:

select * from user_tab_columns where Table_Name=‘用戶表‘;

select * from all_tab_columns where Table_Name=‘用戶表‘;

select * from dba_tab_columns where Table_Name=‘用戶表‘;

user_tab_columns:

table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

all_tab_columns :

ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

dba_tab_columns:

ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

獲取表註釋:

select * from user_tab_comments

user_tab_comments:table_name,table_type,comments

相應的還有dba_tab_comments,all_tab_comments,

這兩個比user_tab_comments多了ower列。

獲取字段註釋:

select * from user_col_comments

user_col_comments:table_name,column_name,comments

相應的還有dba_col_comments,all_col_comments,

這兩個比user_col_comments多了ower列。

5、鎖定oracle用戶及解除鎖定

alter user scott account lock

alter user scott account unlock

6、where字句

select * from 表名 where 字段>數值;

select * from 表明 where to_char(字段,‘yyyy-mm-dd‘)>‘1982-1-1‘; to_char轉換函數

select * from 表明 where to_char(字段,‘yyyy‘)=‘1980‘;

select * from 表明 where to_char(字段,‘mm‘)=‘4‘;

顯示工資在2000到2500工資

select * from 表名 where 字段>=2000 and 字段<=2500;

select * from 表明 where 字段 between 2000 and 2500;

7、模糊查詢 like

%:表示任意0到多個字符 ; _ : 表示任意單個字符

如何顯示首字母為S的員工姓名及工資

select eaname, sal from 表名 where eaname like ‘S%‘ ;

如何顯示第三個字母為O的所有員工姓名及工資

select eaname, sal from 表名 where eaname like ‘__O%‘;

8、where語句使用 in

如何顯示empno 為 123,345,678的雇員情況

1、select * from 表明 where empno=123 or empno=345 or empno=678;

select * from 表明 where empno in (123,345,678);

2、is null 空值查詢

select * from 表明 where 字段名 is null ;

3、oracle邏輯運算符

查詢工資高於500或是崗位為MSN的雇員,同時還要滿足他們的姓名首字母大學J

select * from 表明 where (sal>500 or job=‘MSN‘) and (enname like ‘J%‘ );

drop table student;drop table course;drop table score;drop table teacher;
CREATE TABLE STUDENT(SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4) NOT NULL,SSEX VARCHAR(2) NOT NULL, SBIRTHDAY DATE,CLASS NUMBER NOT NULL);
CREATE TABLE COURSE(CNO VARCHAR(5) NOT NULL, CNAME VARCHAR(10) NOT NULL, TNO VARCHAR(10) NOT NULL);
CREATE TABLE SCORE (SNO VARCHAR(3) NOT NULL, CNO VARCHAR(5) NOT NULL, DEGREE NUMBER NOT NULL);
CREATE TABLE TEACHER (TNO VARCHAR(3) NOT NULL, TNAME VARCHAR(4) NOT NULL, TSEX VARCHAR(2) NOT NULL, TBIRTHDAY DATE NOT NULL, PROF VARCHAR(6), DEPART VARCHAR(10) NOT NULL);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (108 ,‘曾華‘ ,‘男‘ ,to_date(‘1977-09-01‘,‘yyyy-mm-dd‘),95033);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (105 ,‘匡明‘ ,‘男‘ ,to_date(‘1975-10-02‘,‘yyyy-mm-dd‘),95031);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (107 ,‘王麗‘ ,‘女‘ ,to_date(‘1976-01-23‘,‘yyyy-mm-dd‘),95033);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (101 ,‘李軍‘ ,‘男‘ ,to_date(‘1976-02-20‘,‘yyyy-mm-dd‘),95033);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (109 ,‘王芳‘ ,‘女‘ ,to_date(‘1975-02-10‘,‘yyyy-mm-dd‘),95031);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (103 ,‘陸君‘ ,‘男‘ ,to_date(‘1974-06-03‘,‘yyyy-mm-dd‘),95031);
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES (‘3-105‘ ,‘計算機導論‘,825);INSERT INTO COURSE(CNO,CNAME,TNO)VALUES (‘3-245‘ ,‘操作系統‘ ,804);INSERT INTO COURSE(CNO,CNAME,TNO)VALUES (‘6-166‘ ,‘數據電路‘ ,856);INSERT INTO COURSE(CNO,CNAME,TNO)VALUES (‘9-888‘ ,‘高等數學‘ ,100);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (103,‘3-245‘,86);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (105,‘3-245‘,75);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (109,‘3-245‘,68);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (103,‘3-105‘,92);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (105,‘3-105‘,88);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (109,‘3-105‘,76);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (101,‘3-105‘,64);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (107,‘3-105‘,91);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (108,‘3-105‘,78);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (101,‘6-166‘,85);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (107,‘6-106‘,79);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (108,‘6-166‘,81);
INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART) VALUES (804,‘李誠‘,‘男‘,to_date(‘1958-12-02‘,‘yyyy-mm-dd‘),‘副教授‘,‘計算機系‘);INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART) VALUES (856,‘張旭‘,‘男‘,to_date(‘1969-03-12‘,‘yyyy-mm-dd‘),‘講師‘,‘電子工程系‘);INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART) VALUES (825,‘王萍‘,‘女‘,to_date(‘1972-05-05‘,‘yyyy-mm-dd‘),‘助教‘,‘計算機系‘);INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART) VALUES (831,‘劉冰‘,‘女‘,to_date(‘1977-08-14‘,‘yyyy-mm-dd‘),‘助教‘,‘電子工程系‘);

oracle 基本查詢語句及實例