oracle 基本查詢語句及實例
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 基本查詢語句及實例