數(shù)據(jù)的管理在很大一部分是在進行查找工作,而SELECT占據(jù)了很大的一部分
SELECT select_expr [,select_expr...]
[
FROM table_reference
WHERE [where_condition]
[GROUP BY {col_name | position} [ASC| DESC],...]
[HAVING where_condition]
[ORDER BY {col_name | expr |position} [ASC| DESC],...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
]
那么 select_expr 查詢表達(dá)式如何書寫呢?
a. 每個表達(dá)式表示想要的一列,必須有至少一個
b. 多個列之間用英文逗號進行分隔
在user數(shù)據(jù)表中,執(zhí)行只查找前兩列
root@localhost test>select id,username from user;
當(dāng)然查詢表達(dá)式的順序可以個數(shù)據(jù)表中的順序不一致,則查詢結(jié)果按照查詢表達(dá)式的結(jié)果進行顯示,即是SELECT查詢表達(dá)式的順序?qū)绊懖樵兘Y(jié)果的順序。
root@localhost test>select username,id from user;
c. 星號(*)表示所有列,table_name.*可以表示命名表的所有列
root@localhost test>SELECT * FROM user;
root@localhost test>SELECT user.id,user.username FROM user;
這里既然已經(jīng)指定了字段名字,為什么user.id和use.name中還要指定數(shù)據(jù)表的名字 user 呢?因為如果存在多表連接,即是兩張不同的表存在相同的字段。如果直接寫字段名字的可能分不清這個字段屬于哪個數(shù)據(jù)表,因此通過加數(shù)據(jù)表名進行區(qū)分這個字段隸屬哪張數(shù)據(jù)表。
d. 查詢表達(dá)式可以使用 [AS] alias_name為其賦予別名
root@localhost test>SELECT id AS userID,username AS Uname FROM user;
發(fā)現(xiàn)表中原來的id,username變成了userID,Uname,因此別名也會影響結(jié)果。
這里千萬注意別名的語法
root@localhost test>SELECT id username FROM user;
此時username作為id的別名出現(xiàn),也就是說如果別名和數(shù)據(jù)表中真是所存在的字段重合的情況下,現(xiàn)在username指的是別名而不是真實的字段。
e. 別名可以用于GROUP BY ,ORDER BY 或者HAVING 子句
總結(jié)
以上所述是小編給大家介紹的MySQL數(shù)據(jù)庫SELECT查詢表達(dá)式解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- mysql select緩存機制使用詳解
- php操作mysql獲取select 結(jié)果的幾種方法
- php mysql實現(xiàn)mysql_select_db選擇數(shù)據(jù)庫
- MySql數(shù)據(jù)庫中Select用法小結(jié)
- mysql select語句操作實例
- 簡單了解MySQL SELECT執(zhí)行順序