SQL 学习
注:SQL語句對大小寫不敏感,但數據庫中的數據卻是大小寫敏感的。 藍色的文字是關鍵字!!
1、查詢——SELECT 語句? ???
SELECT NAME, STARTTERM, ENDTERM FROM PRESIDENTS WHERE NAME = 'CINCOLN';?
-------- ?列 ?名 ? ? 列 ?名 ? ? 列 ?名 ? ----- 表 名 ----- ?條 件 語 句 ?----------
查看不重復數據:
select DISTINCT amount from checks;2、表達式、條件語句與運算? ? ?
SELECT * FROM BIKES WHERE NAME = 'BURLEY'運算是需要對從數據庫中返回的數據進行數學處理時所用到的運算,可歸為六組:數值型,比較型,字符型,邏輯型和備注型以及混合型;
舉個栗子:
SELECT ITEM,WHOLESALE,WHOLESALE + 0.15 FROM PRICE;計算+別名:
SELECT ITEM,WHOLEASALE,(WHOLESALE + 0.15) DIYNAME FROM PRICE; -- 也可以不用括號,計算可以使用加減乘除取模(+ - * / %)查詢空值:?
SELECT * FROM PRICE WHERE WHOLESALE IS NULL; --而不使用“=” ;相反非空值為 IS NOT NULL;比較:?
SELECT * FROM FRIENDS WHERE AREACODE > 300; --查詢大于300的記錄 比較符號(> = < != <> >= =<)LIKE語句:?
SELECT * FROM PARTS WHERE LOCATION LIKE '%BACK%'; --查詢含有BACK這幾個字符的數字% 是一種通配符,表任意值,比如A開頭的為 A%
_ 下劃線,表示任意一個字符,只占一位,如C開頭的兩位數:C_ ;也可以使用多個下劃線如: W_E_E 可以匹配WHERE ; ? _L% 表示所有第2個字母為L的記錄
|| 連接數據:
SELECT FIRSTNAME || LASTNAME ENTIRENAME FROM FRIENDS; -- 連接兩個列 組成一個名為ENTIRENAME的列SELECT LASTNAME || ',' || FIRSTNAME NAME FROM FRIENDS; -- 這條語句在姓與名之間插入了一個逗號。 不能使用+號連接,會出錯AND 邏輯運算:同時滿足條件
OR 邏輯運算:任意一個條件滿足就會返回記錄。
集合運算:
? ? ? 重復——UNION ?與 ?UNION ALL
? ? ? UNION 返回兩個查詢的結果并除去重復部分:
SELECT NAME FROM SOFTBALL UNION SELECT NAME FROM FOOTBALL; --UNION ALL 包括重復的? ? ? 相交——INTERSECT:返回兩個表中共有的行。? ? ? ? ? ? ? ??
SELECT * FROM FOOTBALL INTERSECT SELECT * FROM SOFTBALL;? ? ? ?相減——MINUS:返回的記錄是存在一第一個表中,但是不存在于第二個表中的記錄? ? ? ? ? ? ? ??
SELECT * FROM FOOTBALL MINUS SELECT * FROM SOFTBALL;? ? ? ?從屬運算:
? ? ? (IN and BETWEEN)? ? ? ? ? ? ? ??
SELECT * FROM FRIENDS WHERE STATE = 'CA' OR STATE = 'CO' OR STATE = 'LA'; -- 也可以直接如下:SELECT * FROM FRIENDS WHERE STATE IN('CA','CO','LA'); -- IN中也可以使用數字 如:*****WHERE ID IN(122,123,1234)? ? ??BTWEEN :??
SELECT * FROM PRICE WHERE WHOLESALE BETWEEN 0.25 AND 0.75 -- BTWEEN 包括邊界值? 待續。。。 ? ?
? ? ? ? ? ??
轉載于:https://www.cnblogs.com/NNUF/archive/2013/01/15/2861879.html
總結
- 上一篇: IBatis常见错误集锦
- 下一篇: 二十、异步调用的问题