SQL基礎(chǔ)的查詢語(yǔ)句
SQL語(yǔ)句中,查詢是使用最多的操作,SQL不僅能夠查詢表中的數(shù)據(jù),還可以返回算術(shù)運(yùn)算、表達(dá)式的結(jié)果等,接下來(lái)就一起了解一下基本的查詢語(yǔ)句。
一、基礎(chǔ)SELECT語(yǔ)句
1、查詢指定字段
語(yǔ)法格式:
SELECT <字段名>,... FROM <表名>;
在語(yǔ)句中可以指定多個(gè)字段,結(jié)果會(huì)根據(jù)指定的字段進(jìn)行顯示。
例如:在users用戶表中查詢用戶id、用戶名、昵稱、性別信息:
SELECT user_id,user_name,nick_name,sex FROM users;
2、查詢?nèi)孔侄?/p>
查看表中的全部字段可以使用星號(hào)"*"表示,例如,以下語(yǔ)句查詢users用戶表中的所有數(shù)據(jù):
SELECT * FROM users;
"*"代表所有字段,數(shù)據(jù)庫(kù)在解析該語(yǔ)句時(shí),會(huì)使用表中的字段名進(jìn)行擴(kuò)展,根據(jù)實(shí)際情況將"*"換成user_id、user_name、nick_name、sex、mobile、email等表的字段。
3、設(shè)定別名
使用AS關(guān)鍵字可以為列設(shè)定別名。
SELECT user_id AS id,user_name AS 用戶名稱,nick_name AS 昵稱,sex AS 性別 FROM users;
4、常數(shù)的查詢
SELECT語(yǔ)句中不僅可以書寫列名,而且還可以書寫常數(shù),
如下:
SELECT 100; SELECT '用戶';
5、表達(dá)式的查詢
SELECT 98%100;
6、去重
SELECT語(yǔ)句中可以使用DISTINCT關(guān)鍵字去除查詢結(jié)果中的重復(fù)記錄,例如,去除user_name重復(fù)的數(shù)據(jù):
SELECT DISTINCT user_name FROM users;
注意: DISTINCT對(duì)NULL是不進(jìn)行過(guò)濾的,即返回的結(jié)果中是包含NULL值的;
當(dāng)DISTINCT應(yīng)用到多列的時(shí)候,應(yīng)用范圍是其后面跟的所有字段,而且DISTINCT只能放到所有字段的前面,也就是第一個(gè)列名之前。
SELECT DISTINCT user_name,nick_name FROM users;
7、條件查詢
SELECT語(yǔ)句通過(guò)WHERE子句來(lái)查詢符合指定條件的記錄,WHERE子句要緊跟在FROM子句之后。
SELECT <字段名>,... FROM <表名> WHERE <條件表達(dá)式>;
7.1 單條件查詢
查詢性別為男性的用戶:
SELECT * FROM users WHERE sex='男';
查詢年齡小于等于24的用戶:
SELECT * FROM users WHERE age<=24;
查詢用戶id不是3的用戶:
SELECT * FROM users WHERE NOT user_id=3;
在第3個(gè)例子中使用了NOT運(yùn)算符,在條件前加NOT就代表否定這個(gè)條件,查找這個(gè)條件以外的記錄。
7.2 多條件查詢
查詢年齡小于等于24或者性別為男性的用戶:
SELECT * FROM users WHERE age<=24 OR sex='男';
查詢年齡小于等于24并且性別為男性的用戶:
SELECT * FROM users WHERE age<=24 AND sex='男';
上面使用了多條件查詢,條件能同時(shí)成立AND運(yùn)算符,條件只能成立一個(gè)用OR運(yùn)算符。
7.3 指定范圍查詢
查詢用戶id在(2,3,7,8)范圍內(nèi)的用戶:
SELECT * FROM users WHERE user_id IN (2,3,7,8);
IN在WHERE子句中規(guī)定多個(gè)值,IN后跟圓括號(hào),括弧內(nèi)可以有一個(gè)或多個(gè)值,值之間由逗點(diǎn)分開,值可以是數(shù)字或者字符。
查詢用戶id在10-15之間的用戶:
SELECT * FROM users WHERE user_id BETWEEN 10 AND 15;
BETWEEN ... AND指定介于兩個(gè)值之間的數(shù)據(jù)范圍,這些值可以是數(shù)值、文本或者日期。
7.4 模糊查詢
LIKE關(guān)鍵字用于SQL的模糊查詢,用于對(duì)搜索字符串進(jìn)行模式匹配。
語(yǔ)法格式:
字段名 LIKE pattern
匹配模式:
%:百分號(hào)匹配零個(gè)、一個(gè)或多個(gè)字符-:下劃線符號(hào)匹配單個(gè)字符
| 模式 | 含義 |
|---|---|
| LIKE 'a%' | 匹配以A開始的字符串,如abc、ab |
| LIKE '%y' | 匹配以y結(jié)尾的字符串,如aay、xy |
| LIKE '%mn% | 匹配包含mn的字符串,如amnb、lmn |
| LIKE 'a_' | 匹配以a開始,后面只有一個(gè)字符的數(shù)據(jù),如ay、ab |
| LIKE '_y' | 匹配以y結(jié)尾,前面只有一個(gè)字符的數(shù)據(jù),如ay,xy |
查找用戶昵稱包含tigeriaf的數(shù)據(jù):
SELECT * FROM users WHERE nick_name LIKE '%tigeriaf%';
到此這篇關(guān)于SQL基礎(chǔ)的查詢語(yǔ)句的文章就介紹到這了,更多相關(guān)SQL基礎(chǔ)查詢語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql索引使用率監(jiān)控技巧(值得收藏?。?/a>
這篇文章主要給大家介紹了關(guān)于mysql索引使用率監(jiān)控技巧的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
mysql提示got timeout reading communication packets的解決方法
今天發(fā)現(xiàn)mysql錯(cuò)誤日志中出現(xiàn)got timeout reading communication packets,一般情況因?yàn)椴糠猪?yè)面生成有問(wèn)題導(dǎo)致,這里簡(jiǎn)單分享一下解決方法2019-05-05
從底層簡(jiǎn)析Python程序的執(zhí)行過(guò)程
這篇文章主要介紹了從底層簡(jiǎn)析Python程序的執(zhí)行過(guò)程,包括注入操作碼和封裝程序等解釋器執(zhí)行層面的知識(shí),需要的朋友可以參考下2015-06-06
MySQL按天分組統(tǒng)計(jì)一定時(shí)間內(nèi)的數(shù)據(jù)實(shí)例(沒(méi)有數(shù)據(jù)補(bǔ)0)
我們?cè)谟肕ysql制作數(shù)據(jù)可視化圖表時(shí)候,經(jīng)常需要按照天對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì),下面這篇文章主要給大家介紹了關(guān)于MySQL按天分組統(tǒng)計(jì)一定時(shí)間內(nèi)的數(shù)據(jù),沒(méi)有數(shù)據(jù)補(bǔ)0的相關(guān)資料,需要的朋友可以參考下2023-03-03
Mysql?sql?如何對(duì)行數(shù)據(jù)求和
這篇文章主要介紹了Mysql使用sql實(shí)現(xiàn)對(duì)行數(shù)據(jù)求和問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-05-05
MySql報(bào)錯(cuò)Table mysql.plugin doesn’t exist的解決方法
一般產(chǎn)生原因是手工更改my.ini的數(shù)據(jù)庫(kù)文件存放地址導(dǎo)致的,大家可以參考下下面的方法2013-02-02

