SQL查詢的藝術學習筆記 簡單查詢

2021-08-08 12:36:02 字數 3663 閱讀 3451

create database seldataon(

name=seldata,

filename='d:\data\seldata.mdf',

size=100mb,

maxsize=2000mb,

filegrowth=5%

)log on

(name=seldata_log,

filename='d:\data\seldata.ldf',

size=50mb,

maxsize=1000mb,

filegrowth=5%

)--建立查詢資料庫

use seldata

create table teacher

(tno int not null,

tname char(60) not null,

cno int not null,

sal int ,

dname char(100) not null,

***  char(2) not null default '男',

age int not null age

)select * from teacher

alter table teacher

add constraint ck_age check(age between 1 and 200)

--為age欄位建立錄入值約束

alter table teacher

drop constraint ck_age

--刪除約束

insert into teacher values (2,'李彤',5,1200,'生物','女',54)

insert into teacher values (3,'王水軍',5,900,'計算機','男',40)

insert into teacher values (4,'劉小靜',2,1200,'計算機','女',46)

insert into teacher values (5,'高偉',8,2100,'電子工程','男',39)

insert into teacher values (6,'李偉',7,1200,'機械工程','男',29)

insert into teacher values (7,'劉輝',3,900,'生物','女',46)

insert into teacher (tno,tname,cno,dname,***,age) 

values (8,'李偉',9,'計算機','女',43)

insert into teacher values (9,'劉靜',12,1300,'經濟管理','女',28)

insert into teacher (tno,tname,cno,dname,***,age) 

values (10,'劉一凱',13,'計算機','女',33)

select * from teacher

--新增資料表

select  * from teacher where 1>2

--查詢資料表結構可以採用條件表示式不成立的方式

select tname from teacher

--單列查詢根據列欄位查詢

select tno,tname from teacher

select distinct dname  from teacher

--加入distinct去除重複值 select disctinct 去除重複值欄位 from 表 +條件

select * from teacher where 1=2

select tno,tname,sal,***,age from teacher

--多列查詢加入列名以逗號分隔

select distinct tname,sal,age from teacher

--注意:distinct 後接多列欄位時,需滿足多列均相同才會去除重\

select tname,tno,sal from teacher order by tname

-單列排序

select tname,tno,sal from teacher order by sal  desc

--注意:null值為最小值

select tname,sal,***,age from teacher order by ***,age

--多列排序,先按***進行排序,有相同記錄後再按age進行排序

select tname,sal,***,age from teacher order by 3,4

--採用序號進行排序,這裡的3 和4 分別代表***第三旬,4為第四列

select tname,sal,***,age from teacher order by ***,age desc

--對指定序號做反向排序:age desc 而前一列***依然是正向排序

select tname,sal,***,age,dname from teacher where  dname='計算機'

select top 1* from teacher 

create view cp_view

as select tname,sal,***,age,dname from teacher where  dname='計算機'

select * from cp_view

drop view cp_view

--單條件查詢

--下面是比較運算

select tname,dname,age,*** from teacher where age>=40 order by age desc

--這是對數字進行比較運算

--同樣也可以對字元和時間等進行比較運逄

select tname,dname,sal,age,*** from teacher 

where dname like '計%' order by dname,***

select * from teacher where ***<>'男' order by age

select * from teacher where ***!='男' order by age

select tname,dname,sal,age,*** from teacher 

where sal <>1200 order by sal

/*注意:在值為null參與比較運算時得到的結果為false 則結果不會表現在查詢

結果集中*/

--關於between 運算範圍

select tname,dname,age,*** from teacher

where age between 30 and 50 order by age

--在between 之間的值結果包括等於範圍集。

select tname,dname,age,*** from teacher 

where dname between '計算機' and '生物'

--關於null值判斷

select tname,sal,age,*** from teacher 

where sal is null order by sal

select tname,sal,age,*** from teacher 

where sal is not null order by sal

--注意:null值不能參與運算,只能表達為is null 或者is not null

程式設計藝術學習筆記(1)

序言習題 1 通過一系列的替代,將四個變數的值 a,b,c,d 變為 b,c,d,a 用最少的步驟 開門菜,然而還是有很多值得思考的地方。能幫助人理解計算機對於賦值的操作。通過觀察,可以認為這是乙個a i 賦值給a i 1 的操作。最少的步驟,只需要五步即可。需要乙個t來作輔助,t a,a b,b ...

除錯的藝術學習筆記 命令記錄

1 單步除錯 n next s step 跟n的區別,s進入到函式內 2 恢復操作 c continue 直到遇到下個斷點 3 臨時斷點 tbreak 有效期,第一次遇到 4 檢查變數 p printf 5 監視點 watch 當監視點的值發生變化時停止 6 檢視棧 bt backtrace 顯示整...

《Oracle程式設計藝術》學習筆記 23 段

段就是占用儲存空間的資料庫物件,占用儲存空間的每乙個物件最後都會儲存在乙個段中,如表 索引 回滾段等。段的型別 1 表段 2 表分割槽段 table partition 或子分割槽段 subpartition 這種段型別用於分割槽,與表段很相似。分割槽表由乙個或多個分割槽段 table partit...