天天看點

SQL基礎學習SELECT 語句:檢索資料SELECT DINTINCT 語句SELECT WHERE 子句:過濾資料ORDER BY排序語句SELECT LIMIT子句

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;