數(shù)據(jù)的管理在很大一部分是在進(jìn)行查找工作,而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. 每個(gè)表達(dá)式表示想要的一列,必須有至少一個(gè)
b. 多個(gè)列之間用英文逗號(hào)進(jìn)行分隔
在user數(shù)據(jù)表中,執(zhí)行只查找前兩列
root@localhost test>select id,username from user;
當(dāng)然查詢表達(dá)式的順序可以個(gè)數(shù)據(jù)表中的順序不一致,則查詢結(jié)果按照查詢表達(dá)式的結(jié)果進(jìn)行顯示,即是SELECT查詢表達(dá)式的順序?qū)?huì)影響查詢結(jié)果的順序。
root@localhost test>select username,id from user;
c. 星號(hào)(*)表示所有列,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 呢?因?yàn)槿绻嬖诙啾磉B接,即是兩張不同的表存在相同的字段。如果直接寫字段名字的可能分不清這個(gè)字段屬于哪個(gè)數(shù)據(jù)表,因此通過加數(shù)據(jù)表名進(jìn)行區(qū)分這個(gè)字段隸屬哪張數(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,因此別名也會(huì)影響結(jié)果。
這里千萬注意別名的語法
root@localhost test>SELECT id username FROM user;
此時(shí)username作為id的別名出現(xiàn),也就是說如果別名和數(shù)據(jù)表中真是所存在的字段重合的情況下,現(xiàn)在username指的是別名而不是真實(shí)的字段。
e. 別名可以用于GROUP BY ,ORDER BY 或者HAVING 子句
總結(jié)
以上所述是小編給大家介紹的MySQL數(shù)據(jù)庫SELECT查詢表達(dá)式解析,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- mysql select緩存機(jī)制使用詳解
- php操作mysql獲取select 結(jié)果的幾種方法
- php mysql實(shí)現(xiàn)mysql_select_db選擇數(shù)據(jù)庫
- MySql數(shù)據(jù)庫中Select用法小結(jié)
- mysql select語句操作實(shí)例
- 簡(jiǎn)單了解MySQL SELECT執(zhí)行順序