SQL基礎學習
- SELECT 語句:檢索資料
- SELECT DINTINCT 語句
- SELECT WHERE 子句:過濾資料
-
- 運算符
-
- 邏輯運算(AND,OR,NOT)
- 比較運算
- 特殊條件
- ORDER BY排序語句
- SELECT LIMIT子句
SELECT 語句:檢索資料
SELECT 語句用于從資料庫中選取資料。
結果被存儲在一個結果表中,稱為結果集。
SQL SELECT 文法
//選取table中列為為column_name的列
SELECT column_name,column_name
FROM table_name
//選取table中的所有資料
SELECT *
FROM table_name
SELECT DINTINCT 語句
在表中,一個列可能會包含多個重複值,有時您也許希望僅僅列出不同(distinct)的值。
DISTINCT 關鍵詞用于傳回唯一不同的值。
SQL SELECT DISTINCT 文法
SELECT DISTINCT column_name,column_name
FROM table_name;
SELECT WHERE 子句:過濾資料
WHERE 子句用于提取那些滿足指定條件的記錄。
SQL WHERE 文法
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
運算符
邏輯運算(AND,OR,NOT)
邏輯運算 | 描述 |
---|---|
AND | 同時滿足兩個條件 |
OR | 滿足其中一個條件 |
NOT | 滿足不包含該條件的值 |
- AND & OR運算符結合應用
//找出人口多于五百萬且國家代碼為CN和USA的城市
SELECT name
FROM cities
WHERE population>5000000
AND(country_code='CN' OR country_code='USA')
比較運算
比較運算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
特殊條件
運算符 | 描述 |
---|---|
IS NULL | 空值判斷 |
IS NOT NULL | 非空值判斷 |
BETWEEN AND | 在 …之間的值 |
IN | |
LIKE | 模糊查詢 |
LIKE模糊查詢用法
- %表示多個字元,_下劃線表示一個字元,例如:
//查詢第二個字元為m的
SELECT name
FROM countries
WHERE name LIKE '_m%'
//找出所有姓馬的學生的名字
SELECT name
FROM student
WHERE name LIKE '%馬'
//找出所有包含有a字母的單詞
SELECT word
FROM words
WHERE word LIKE '%a%'
ORDER BY排序語句
ORDER BY 關鍵字用于對結果集按照一個列或者多個列進行排序。
ORDER BY 關鍵字預設按照升序對記錄進行排序。如果需要按照降序對記錄進行排序,使用 DESC 關鍵字。
SQL ORDER BY 文法
//對城市的名字預設升序排序,對城市人口降序排序
SELECT name,population
FROM cities
ORDER BY name ,population DESC;
SELECT LIMIT子句
子句用于規定要傳回的記錄的數目,MySQL中使用
SELECT LIMIT 文法
//傳回前n行資料
SELECT column_name(s)
FROM table_name
LIMIT n;
//傳回第n行後的m行資料
SELECT column_name(s)
FROM table_name
LIMIT n,m;