數據的管理在很大一部分是在進行查找工作,而SELECT占據了很大的一部分
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 查詢表達式如何書寫呢?
a. 每個表達式表示想要的一列,必須有至少一個
b. 多個列之間用英文逗號進行分隔
在user數據表中,執行只查找前兩列
root@localhost test>select id,username from user;
當然查詢表達式的順序可以個數據表中的順序不一致,則查詢結果按照查詢表達式的結果進行顯示,即是SELECT查詢表達式的順序將會影響查詢結果的順序。
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;
這里既然已經指定了字段名字,為什么user.id和use.name中還要指定數據表的名字 user 呢?因為如果存在多表連接,即是兩張不同的表存在相同的字段。如果直接寫字段名字的可能分不清這個字段屬于哪個數據表,因此通過加數據表名進行區分這個字段隸屬哪張數據表。
d. 查詢表達式可以使用 [AS] alias_name為其賦予別名
root@localhost test>SELECT id AS userID,username AS Uname FROM user;
發現表中原來的id,username變成了userID,Uname,因此別名也會影響結果。
這里千萬注意別名的語法
root@localhost test>SELECT id username FROM user;
此時username作為id的別名出現,也就是說如果別名和數據表中真是所存在的字段重合的情況下,現在username指的是別名而不是真實的字段。
e. 別名可以用于GROUP BY ,ORDER BY 或者HAVING 子句
總結
以上所述是小編給大家介紹的MySQL數據庫SELECT查詢表達式解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答