mysql基礎(六)select語句
單表查詢: SELECT [ DISTINCT ] [SQL_CACHE | SQL_NO_CACHE] select_expr [,select_expr ...] [FROM table_references [ WHERE where_condition ] [GROUP BY {col_name | expr |}] [HAVING where_condition] [ORDER BY [ASC | DESC]] DISTINCT:數據去重 SQL_CACHE:指定存入緩存 SQL_NO_CACHE:指定進行緩存 WHERE子句:指定條件,實現過濾功能 過濾條件: 算數運算:+ - * / % > < >= <= 邏輯運算:AND:與運算 OR:或運算 NOT:非運算 字符比較:= != 列表元素比較:IN (元素1,元素2,元素3,...) IS NULL:空 IS NOT NULL:非空 LIKE:模糊匹配,能不用盡量不用 RLIKE:基於正則的模糊匹配,能不用盡量不用 GROUP BY子句:更具指定的條件把匹配的結果進行分組,實現"聚合"運算 常用函數: sum(條件) #求和 max(條件) #最大值 min(條件) #最小值 avg(條件) #平均值 count(條件) #統計記錄數 HAVING:對GROUP BY之後的結果進行過濾 示例: mysql> CREATE DATABASE mydb; #創建測試數據庫 mysql> USE mydb; mysql> CREATE TABLE test (id int(50),name varchar(50),qq int(15),gender char(2));#創建測試表 mysql> INSERT INTO test VALUES(1,‘zhangshan‘,12345,‘F‘); #插入測試數據 mysql> INSERT INTO test VALUES(2,‘lisi‘,123142,‘F‘); mysql> INSERT INTO test VALUES(3,‘zsf‘,124312,‘M‘); mysql> INSERT INTO test VALUES(4,‘yyy‘,124312,‘F‘); mysql> INSERT INTO test VALUES(5,‘ytt‘,124312,‘M‘); 單表查詢示例: mysql> SELECT * FROM test WHERE id>2 AND id<5; #查詢ip大於2小於5的數據 mysql> SELECT * FROM test WHERE id>2 GROUP BY gender; #對性別進行分組 mysql> SELECT sum(id),gender FROM test GROUP BY gender; #對性別進行分組,並求他們的id之和 mysql> SELECT * FROM test GROUP BY gender HAVING id>2; #對性別進行分組,顯示id大於2的組 多表關聯查詢: mysql> CREATE TABLE test2 (emain varchar(200),age int(10)); #創建測試環境 mysql> INSERT INTO test2 values([email protected]
本文出自 “自動化運維” 博客,請務必保留此出處http://hongchen99.blog.51cto.com/12534281/1933300
mysql基礎(六)select語句