查詢語句
基本資料查詢
select 內容 from 表名;
select distinct job from emp;去除重複行
限定查詢(查詢滿足條件的行)
select * | 列名from 表名where 條件;
select empno,ename,***mfrom empwhere ***m is not null;
限定查詢----is null和is not null的使用
select empno,ename,***mfrom empwhere ***m is null查詢誰沒有獎金
限定查詢----and 的使用
查詢工資大於1500,並且可以領取獎金的雇員
select empno,ename,sal,***mfrom empwhere sal > 1500 and ***m is not null;
限定查詢----or 的使用
查詢工資大於1500和可以領取獎金的雇員
select empno,ename,sal,***mfrom empwhere sal > 1500 or ***m is not null;
限定查詢----使用not對條件整體取反
查詢工資不大於1500並且不能領取資金的雇員
select empno,ename,sal,***mfrom empwhere not (sal>1500 and ***m is not null);
限定查詢----between ... and...的使用
查詢基本工資大於等於1500並且小於等於3000的雇員
select empno,ename,sal,***mfrom empwhere sal between 1500 and 3000
限定查詢----in 的使用
查詢出雇員編號是7369,7499,7521的雇員的具體資訊
select *from empwhere empno in(7369,7499,7521);
限定查詢----not in 的使用
查詢出雇員編號不是7369,7499,7521的雇員的具體資訊
select *from empwhere empno not in(7369,7499,7521);
限定查詢----like 的使用
查詢中雇員的名字第二個字元是m的雇員資訊
select empno,ename,***m,salfrom empwhere ename like '_m%';
說明: _ 匹配乙個字元,% 匹配0個或多個字元
限定查詢----like 匹配日期
查詢2023年入職的所有雇員的資訊
select *from empwhere hiredatelike '%82%'
限定查詢----like 匹配數字
查詢工資中包含 5 的雇員資訊
select *from empwhere sallike '%5%'
對結果排序----order by
帶有order by 子句的sql語句基本格式
select 列... from 表 where 條件 order by 列
查詢員工資大於1500的資訊,按工資排序
select * from emp where sal>1500 order by sal
查詢工資大於1500員工的資訊,按工資降序,按僱傭日期公升序排序
select * from emp where sal>1500order by saldesc,hiredate asc
說明: asc 排序,desc降序,預設asc
左、右外連線
查詢員工編號,姓名,所在部門號,部門名稱,將沒有員工的部門也顯示出來
select e.ename, emp e,dept dwhere
注:(+)在左邊,表示右連線,會列出右表中出現但是沒有在左表中出現的行
交叉連線(cross join):用來產生笛卡爾積的
select * from emp cross join dept;
自然連線(natural join):自動進行關聯欄位的匹配
select * from emp natural join dept;
using子句:直接指定操作關聯列
select * from emp join dept using(deptno);
on 子句:使用者自己編寫連線條件
select * from emp join dept on
right join:右外連線
select e.empno,e.ename, from emp e right join dept d on
子查詢---in 的使用
查詢和**ith或jones在同一部門,同一職位工作的員工
select * from emp where (deptno,job) in(select deptno,job from emp where enamein('**ith','jones'));
子查詢---any 的使用
=any : 與 in操作符的效果一致
查詢和**ith或jones在同一部門,同一職位工作的員工
select * from emp where (deptno,job) =any (select deptno,jopfrom emp where ename in('**ith','jones'));
select * from
>any : 只要大於子查詢中的任何乙個值即可
select * from emp where sal > any(select min(sal) from emp group by deptno);
>all:比最大的值大
select * from emp where sal>all(select min(sal) from emp group by deptno);
select * from emp where sal< any(select min(sal) from emp group by deptno);
select * from emp where sal插入語句
intsert into 表名 values(值1 值2 值3…..) 插入的數值的字段型別要與定義的時候一樣
intsert into 表名 values(值1,值2,null,值3………) 有不想寫的可以用null 來標示
intsert into 表名(欄位1.欄位2,欄位3………) values(值1 值2 值3……) 型別對應
insert into test (**allclass,bigclass) values ('asp教程','好好學習吧')
insert into
insert into salfldg
(ac**t_code,period)
values
(select ac**t_code,period from salfldg group by ac**t_code,period)
注意:數值的型別個數順序不能超過最大值
插入記錄到表中insert 的語法
insert into 表名(欄位名1,欄位名2,......)values(值1,值2......);
為myemp中增加一條記錄
insert into myemp(empno,ename,job)values(7899,'張三','清潔工)
注:給定的值要和指定的字段數一致
insert into myemp(empno,ename,job) values (7899,'張三','清潔工')
當為表中的所有列都插入資料數,可以採用如下簡單寫法a
insert into 表名values(值1,值2......);
insert into myemp values(7991,'李四','清潔工','7369','14-2月 -
1995',9000,300,40)
注:要求給定值的數目和表中列的數目一致,並且值的順序和表中列的順序一致。
新增加一條記錄到myemp中,但是該員工沒有獎金也沒有上級領導
第一種寫法:
insert into myemp (empno,ename,job,hiredate,sal,deptno)
values(7899,'張三','清潔工','14-2月 -1995',9000,40)
第二種寫法:(用null來指定沒有值的列)
insert into myemp values(7898,'王五','清潔工',null,'14-2月 -
1995',9000,null,40)
新增加一條記錄到myemp中,但日期格式按'1988-09-09'的方式指定
to_date函式的使用
insert into myemp(empno,ename,job,hiredate,sal,deptno)
values(7896,'趙六','清潔工',to_date('1984-09-09','yyyy-mm-dd'),9000,40);
修改記錄
update 表名 set 字段= 值,字段 =值 ,字段= 值……. where 條件;
例子:update customers set credit=200000.00,state=021 where id in (80,90,100,120)
注意:條件必須寫
update customers set credit=2000,00 state=021 where id in (80,90,100,120)
刪除記錄
delete from 表名 where 條件;
oracle資料庫入門
很多剛剛接觸oracle資料庫的初學者總是感覺oracle很難學,無從下手,漸漸的感覺對oracle很排斥,有的朋友找了本oracle是書也是一點也看不懂,或者看了前面幾章,還是不知道怎麼用。其實,從筆者的親身經歷來說,oracle入門很簡單,使用oracle的基本功能也是一件非常簡單的事情。但是想...
Oracle資料庫常用命令詳解
spool將螢幕所有的輸出輸出到指定檔案 spool 檔案路徑名 spool g mysql.sql 業務操作 結束輸出 spool off 執行乙個sql指令碼檔案 我們可以將多條sql語句儲存在乙個文字檔案中,這樣當要執行這個檔案中的所有的sql語句時,用上面的任一命令即可,這類似於dos中的批...
Oracle資料庫知識總結
ad1.執行乙個sql指令碼檔案 sql start file name sql file name 我們可以將多條sql語句儲存在乙個文字檔案中,這樣當要執行這個檔案中的所有的sql語句時,用上面的任一命令即可,這類似於dos中的批處理。4.將顯示的內容輸出到指定檔案 sql spool file...