1.使用注釋
sql語句是由dbms處理的指令,如果你希望不進行處理和執行的文字,你就需要注釋.
隨著sql語句變長,複雜度增加,你會想新增一些描述性的注釋,供別人參考.
你也可以使用它注釋**,可以可以暫時停止要執行的**.
2.列如
2.1注釋使用–(l兩個連字元)嵌在行內,-- 之後就是文字注釋.描述create table語句中列.
select
couname
--這是一條注釋
from
course
;
2.2在開頭使用#,這一整行都將為注釋,
#這是一條注釋
select
couname
from
course
;
2.3也可以進行多行注釋
3.排序檢索資料
使用select語句的order by子句,根據需要排序檢索出的資料.
排序資料
sql語句返回某個資料庫表的單個列,但看輸出,並沒有特定的順序
select
orderid
from
`order
details
`;
輸出
檢索的資料並不是隨機顯示的,如果不排序,資料一般將以它在底層表**現的順序顯示,這有可能是資料最初新增到表中的順序,但是,如果資料隨後進行過更新或刪除,那麼這個順序將會受到dbms重用**儲存空間的方式影響,因此,如果不明確控制,則最終的結果不能依賴該排序順序.
關聯式資料庫認為,如果不明確規定排序順序,則不應該假定檢索出的資料的順序有任何意義.
為了明確排序用select語句檢索出的資料,可以使用order by子句,order by子句取乙個或多個列的名字,據此對輸出進行排序.
對orderid列以字母順序排序資料的order by子句外,這語句與前面的語句相同.
select
orderid
from
`order
details
`order
byorderid
;
輸出
order by子句的位置,在指定一條order by子句時,應該保證它是select語句中最後一條子句,如果它不是最後的子句,會報錯.
通過非選擇列進行排序
order by子句中使用的列將是為顯示而選擇的列,但是,實際上並不一定這樣,用非檢索的列排序資料是完全合法的.
4.按多個列排序
經常需要不止乙個列進行資料排序.如果有張雇員表(首先按姓排序,然後在每個姓中再按名排序),如果多個雇員相同的姓,這樣做很有幫助.
按多個列排序,簡單指定列名,列名之間用逗號隔開(選擇多個列那樣).
select
orderid
,productid
,quantity
from
`order
details
`order
byproductid
,quantity
;
輸出
其中兩個列對結果進行排序–首先按productid,在按quantity排序.
重要的理解按多個列排序時,排序順序完全按規定進行,對於上面來講,僅在多個行具有相同的 productid值時才對產品按quantity進行排序,如果productid所有的值都是唯一的,則不會按quantity排序.
5.按列位置排序
這裡輸出與上面的查詢相同,不同在於order by子句,select清單中指定的是選擇列的相對位置而不是列名.order by 2表示按select清單的第二個列productid進行排序,order by 2,3表示先按productid,在按quantity進行排序.
這裡好處是不用重新輸入列名,但是也有缺點,首先,不明確出列名有可能造成錯用列名排序,其次,在對select清單進行更改時容易錯誤地對資料進行排序(忘記對order by子句做相應的改動),最後,如果進行排序的列不在select清單中,顯然不能使用這些技術.
6.指定排序方向
資料排序不限於公升序排序(從a到z),這只是預設的排序順序,還可以使用order by子句進行降序(從z到a)排序,為了進行降序排序,必須指定desc關鍵字.
下列以orderid降序來排序產品(最貴的排在最前面)
如果打算用多個列排序,怎麼辦,下面列子以降序排序產品(最貴的在前面),在加上產品名;
select
orderid
,productid
,quantity
from
`order
details
`order
byorderid
desc
,productid
;
desc關鍵字只應用到直接位於其前面的列名,在上列中,只對orderid列指定desc,對productid列不指定,因此,orderid列以降序排序,而productid列任按標準公升序排序.
想在多個列上降序排序
如果想在多個列上進行降序排序,必須對每一列指定desc關鍵字.
SQL 排序檢索資料
select prod name from products 返回的資料 prod name fish bean bag toy bird bean bag toy rabbit bean bag toy 8 inch teddy bear 12 inch teddy bear 18 inch te...
SQL檢索列排序
對檢索列進行排序 select column a from table a order by column a 使用order by語句對column a排序對檢索的多列進行排序 先排column a,後排column b select column a,column b from table a ...
SQL 檢索排序資料(ORDER BY子句)
order by 子句用於對結果集按照乙個列或者多個列進行排序。order by 子句預設按照公升序對記錄進行排序。如果需要按照降序對記錄進行排序,您可以使用 desc 關鍵字。注意 order by 子句應該位於from子句之後,若使用limit關鍵字時,limit關鍵字必須要位於order by...