MySQL 表子查詢表子查詢是指子查詢返回的結果集是 N 行 N 列的一個表資料。MySQL 表子查詢執行個體下面是用於例子的兩張未經處理資料表:article 表:blog 表:SQL 如下:SELECT * FROM article WHERE (title,content,uid) IN (SELECT title,content,uid FROM blog)查詢返回結果如下所示:該 SQL 的意義在於尋找 article 表中指定的欄位同時也存在於 blog 表中的所有的行(注意 =
FROM 子查詢FROM 子句中的子查詢MySQL FROM 子查詢是指 FROM 的子句作為子查詢語句,主查詢再到子查詢結果中擷取需要的資料。FROM 子查詢文法如下:SELECT ... FROM (subquery) AS name ...子查詢會產生一個暫存資料表,由於 FROM 子句中的每個表必須有一個名稱,因此 AS name 是必須的。FROM 子查詢也稱為衍生資料表子查詢。FROM 子查詢執行個體table1:s1 s21 52 123 20FROM 子查詢 SQL 如下:
MySQL 子查詢子查詢是將一個 SELECT 語句的查詢結果作為中間結果,供另一個 SQL 陳述式調用。MySQL 支援 SQL 標準要求的所有子查詢格式和操作,也擴充了特有的幾種特性。子查詢沒有固定的文法,一個子查詢的例子如下:SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1)對應的兩個資料表如下:article 文章表:user
MySQL 列子查詢及 IN、ANY、SOME 和 ALL 操作符的使用MySQL 列子查詢列子查詢是指子查詢返回的結果集是 N 行一列,該結果通常來自對錶的某個欄位查詢返回。一個列子查詢的例子如下:SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1)列子查詢中使用 IN、ANY、SOME 和 ALL 操作符由於列子查詢返回的結果集是 N 行一列,因此不能直接使用 = > < >=
MySQL LIKE 文法LIKE 運算子用於 WHERE 運算式中,以搜尋匹配欄位中的指定內容,文法如下:WHERE column LIKE patternWHERE column NOT LIKE pattern在 LIKE 前面加上 NOT 運算子時,表示與 LIKE 相反的意思,即選擇 column 不包含 pattern 的資料記錄。LIKE 通常與萬用字元 % 一起使用,% 表示通配 pattern 中未出現的內容。而不加萬用字元 % 的 LIKE
MySQL BETWEEN 用法MySQL BETWEEN 文法BETWEEN 運算子用於 WHERE 運算式中,選取介於兩個值之間的資料範圍。BETWEEN 同 AND 一起搭配使用,文法如下:WHERE column BETWEEN value1 AND value2WHERE column NOT BETWEEN value1 AND value2通常 value1 應該小於 value2。當 BETWEEN 前面加上 NOT 運算子時,表示與 BETWEEN
MySQL Order By 查詢結果排序ORDER BYSQL 文法中 ORDER BY 關鍵字用於對查詢結果進行排序。排序分為升序(ASC)和降序(DESC)兩種,當不使用 ORDER BY 指定排序方式時,預設為升序。文法:SELECT column,… FROM tb_name ORDER BY column1,column2,… DESC(ASC)ORDER BY 後面必須列出排序的欄位名,可以是多個欄位。對 user 表 uid 進行降序查詢:SELECT uid,username
MySQL Insert Into 添加資料INSERT INTOINSERT INTO 文法用於向資料表中添加資料記錄。文法:INSERT INTO tb_name VALUES (value1, value2,...)該文法表示向表中所有的欄位按順序都插入資料記錄。但更多情況下是向指定的列添加記錄:INSERT INTO tb_name (column1, column2,...) VALUES (value1, value2,...)下面的例子向 user 表添加一條記錄:<?
LEFT JOIN 文法用法與執行個體MySQL LEFT JOIN 文法SQL(MySQL) LEFT JOIN 會取得左表(table1)全部記錄,即使右表(table2)並無對應匹配記錄。LEFT JOIN 基本文法如下:... FROM table1 LEFT JOIN table2 ON condition ...MySQL LEFT JOIN 用法執行個體下面是兩個未經處理資料表:article 文章表:user
UPDATE 更新UPDATE SET 文法用於修改更新資料表中的資料。文法:UPDATE tb_name SET column1 = new_value1,column2 = new_value2,… WHERE definition該文法將資料表中符合 WHERE 條件的記錄中的 column1 的值更新為 new_value1,column2 的值更新為 new_value2 ,以此類推。如果省略 WHERE 條件,則會將表中所有記錄的 column
union和join是需要聯合多張表時常見的關聯詞,具體概念我就不說了,想知道上網查就行,因為我也記不準確。先說差別:union對兩張表的操作是合并資料條數,等於是縱向的,要求是兩張表欄位必須是相同的(Schema of both sides of union should match.)。也就是說如果A表中有三條資料,B表中有兩條資料,那麼A union B就會有五條資料。說明一下union 和union all的差別,對於union如果存在相同的資料記錄會被合并,而union
join語句的基本使用SQL(MySQL) JOIN 用於根據兩個或多個表中的欄位之間的關係,從這些表中得到資料。JOIN 通常與 ON 關鍵字搭配使用,基本文法如下:... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditionatable1 通常稱為左表,table2 稱為右表。ON 關鍵字用於設定匹配條件,用於限定在結果集合中想要哪些行。如果需要指定其他條件,後面可以加上 WHERE 條件 或者 LIMIT
統計平均數SELECT AVG() FROM 文法用於從資料表中統計資料平均數。文法:SELECT AVG(column) FROM tb_name該 SQL 文法用於統計某一數實值型別欄位的平均數,AVG() 內不能是多個欄位,字串等類型雖然可以執行,但無意義。例子:SELECT AVG(uid) FROM user 得到查詢結果:2.5000 當然在此統計 uid 的平均數是無實際生產意義的,只是為了示範 AVG() 文法的用法。統計資料之和SELECT SUM() FROM