參考
單列,多列,所有列
select id/select id,age/select *
from user;
多條sql語句必須以「 ;」分隔。
sql語句不區分大小寫,select和select是相通的,一般關鍵字大寫,表名、列名小寫,不過表名,列名和值可能有所不同(依賴於具體點dbms及其如何配置)。
處理sql語句時,其中所有 空格都被忽略(將sql語句分成多行有利於閱讀和除錯)。
檢索多個列,列名之間必須以「 ,」分隔,但是最後乙個列不用加,第乙個檢索的行是0行,limit 5 offset 3---簡化版:limit 3,5,實際是從第四行開始,檢索5行
檢索所有列使用(*)萬用字元,用於檢索名字未知的列或者需要知道表中的每一列,效能低,不同的資料庫sql語言有差異!!
檢索不同的值使用distinct關鍵字 ,作用於所有列,放在列名前面,其不僅作用於緊跟其後的那一列。
例:select distinct vend_id,prod_price from products; 除非兩行相同,否則所有的列都會被檢索出來。
使用注釋
--行內注釋 #一行的開始使用(不常用) /* */多行的注釋
select id ,age
from user
order byid desc,age ;
先按id降序排序,再按年齡
子句:sql語句由子句構成,有些子句是必須的,有些則是可選的。乙個子句通常是由乙個關鍵字加上所提供的資料組成。
order by 可以取乙個或多個列的名字,據此對輸出進行排序。如果他不是最後的子句,將會出現錯誤資訊,並且可以使用非檢索的列排序。
按多個列進行排序:..order by xx,yy; 先按xx,在xx都相同時再按yy,若xx中都是唯一的則不會按yy排列
..order by 2,3; 指定的是選擇列的相對位置而不是列名
指定排序方向:預設公升序,desc(降序)關鍵字只應用到直接位於其前面的列名,在多個列上進行降序排序,必須對每一列指定desc關鍵字。order by id,age desc;a與a預設相同,無法簡單使用order by改變,注意資料庫命名方式。
使用where子句:資料根據where子句中指定的搜尋條件進行過濾,接在from子句之後給出。
資料最好不要再應用層過率,客戶端應用處理資料,會使伺服器發動多餘資料,造成頻寬的浪費。
where子句操作符
操作符說明
操作符說明=等於
>
大於<>
不等於》=
大於等於
!=不等於
!>
不大於between
在指定的兩個值之間
is null
為null值
!<
不小於<
小於關於引號:字串用單引號限制,用來與數值列比較不需要用引號,order by 位於where之後;
範圍值檢查 between例:
select prod_name,prod_price
form products
where prod_price between 5 and 10;null:無值。它與字段包含0,空字串,或僅包含空格不同;
確定值是否為null,不能簡單的檢查是否=null,應該用特殊的is null, where prod_priceis null;
操作符:用來聯結或改變where子句中的子句的關鍵字,也叫邏輯操作符。
and:檢索滿足條件的所有指定的行 where vend_id='dll01' and vend_id=『brs01』
or: 與and相反,許多dbms在第乙個條件得到滿足的情況下就不再計算第二個條件了(第乙個滿足時,不管是否滿足,相應的行都將被檢索出來)
and再求值優先順序大於or,可以使用()改變結合順序避免出錯。
in where子句中用來指定要匹配值的清單的關鍵字,功能與or相當。
例:where vend_id in ('dll01','brs01') 等同於where vend_id='dll01' or vend_id=『brs01』
最大的優點是可以包含其他select語句,能夠更動態地建立where子句。
not:where子句中用來否定其後條件關鍵字。
例:where not vend_id='dll01' 等同於 where vend_id<>'dll01'
優勢是與in操作符聯合使用時,not可以非常簡單的找出與條件列表不匹配的行。
like...模糊匹配
select * from student
where name like '汪%'
選出汪姓 的同學,其中 % 代表匹配任意次,_ 代表匹配單個字元,表示匹配中括號裡面的任意乙個字元
SQL必知必會
資料庫 儲存有組織的資料的容器。資料庫管理系統 dbms 資料庫軟體,資料庫是通過dbms建立和操縱的容器。表 某種特定資料型別的結構化清單。資料庫中的每個表都有自己的名字,且唯一。不同的資料庫可以使用相同的表名。表的特性 模式 資料在表中如何儲存,儲存什麼樣的資料,資料如何分解。模式可以用來描述資...
SQL必知必會 第1課 了解SQL
資料庫 儲存有組織的資料的 容器 通常是乙個檔案或一組檔案 注意 資料庫軟體不等於資料庫,前者應稱為資料庫管理系統 dbms 後者是通過dbms建立和操縱的容器。表 某種特定型別資料的結構化清單。資料庫中的每個表都有乙個名字來標識自己。這個名字是唯一的。模式 關於資料庫和表的布局及特徵的資訊。模式定...
《SQL必知必會》筆記四 18 19課
4.1 檢視 mysql 從版本 5 起開始支援檢視 理解檢視 在下例中,檢索其他產品 或多個產品 的相同資料,必須修改最後的where 子句。select cust name,cust contact from customers,orders,orderitems where customers...