您好,登錄后才能下訂單哦!
這篇文章運用了實例代碼展示select語句的單表查詢的用法,代碼非常詳細,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。
SELECT語句的基本語法如下:
select selection_list //要查詢的內容,選擇哪些列
from 數據表名 //指定數據表
where primary_constraint //查詢時需要滿足的條件,行必須滿足的條件
group by grouping_columns //如何對結果進行分組
order by sorting_cloumns //如何對結果進行排序
having secondary_constraint //查詢時滿足的第二條件
limit count
單表查詢是指從一張表中查詢所需要的數據。所有查詢操作都比較簡單。
查詢所有字段是指查詢表中所有字段的數據。這種方式可以將表中所有字段的數據都查詢出來。在MySQL中可以使用“*”代表所有的列,即可查出所有的字段,
語法格式如下:
SELECT * FROM 表名;
create database test; #創建庫
use test; #進入庫
create table info (id int not null,name char(6),score decimal(5,2),age int(4)); #創建表
插入測試數據
insert into info (id,name,score,age)values(1,'san',88,33);
insert into info (id,name,score,age)values(2,'lisi',48,31);
insert into info (id,name,score,age)values(3,'wwu',68,27);
insert into info (id,name,score,age)values(4,'pw',98,25);
insert into info (id,name,score,age)values(5,'wlk',19,37);
insert into info (id,name,score,age)values(3,'lihua',58,23);
SELECT * FROM info;
單表查詢是指從一張表中查詢所需要的數據。所有查詢操作都比較簡單
查詢指定字段可以使用下面的語法格式:
SELECT 字段名 FROM 表名;
SELECT name FROM info;
查詢結果:
如果要從很多記錄中查詢出指定的記錄,那么就需要一個查詢的條件。設定查詢條件應用的是WHERE子句。通過它可以實現很多復雜的條件查詢。在使用WHERE子句時,需要使用一些比較運算符來確定查詢的條件。
SELECT * FROM info WHERE name = 'lisi' ;
查詢結果:
IN關鍵字可以判斷某個字段的值是否在于指定的集合中。如果字段的值在集合中,則滿足查詢條件,該記錄將被查詢出來;如果不在集合中,則不滿足查詢條件。
其語法格式如下:
SELECT * FROM 表名 WHERE 條件 [NOT] IN(元素1,元素2,…,元素n);
SELECT * FROM info WHERE name in ('lisi','pw') ;
查詢結果:
SELECT * FROM info WHERE name not in ('lisi','kk') ;
查詢結果:
BETWEEN AND關鍵字可以判斷某個字段的值是否在指定的范圍內。如果字段的值在指定范圍內,則滿足查詢條件,該記錄將被查詢出來。如果不在指定范圍內,則不滿足查詢條件。
其語法如下:
SELECT * FROM 表名 WHERE 條件 [NOT] BETWEEN 取值1 AND 取值2;
SELECT * FROM info WHERE age BETWEEN 25 AND 35;
查詢結果:
友情提醒:邊緣值包括在內,25和35都符合條件
LIKE屬于較常用的比較運算符,通過它可以實現模糊查詢。
它有兩種通配符:“%”和下劃線“_”;
SELECT * FROM info WHERE name LIKE '%w%' ;
查詢結果:
IS NULL關鍵字可以用來判斷字段的值是否為空值(NULL)。如果字段的值是空值,則滿足查詢條件,該記錄將被查詢出來。如果字段的值不是空值,則不滿足查詢條件。
其語法格式樣如下:
IS [NOT] NULL
SELECT * FROM info WHERE age is not NULL;
查詢結果:
AND關鍵字可以用來聯合多個條件進行查詢。使用AND關鍵字時,只有同時滿足所有查詢條件的記錄會被查詢出來。如果不滿足這些查詢條件的其中一個,這樣的記錄將被排除掉。
AND關鍵字的語法格式如下:
select * from 數據表名 where 條件1 and 條件2 […AND 條件表達式n];
SELECT * FROM info WHERE age =33 and name ='san';
查詢結果:
OR關鍵字也可以用來聯合多個條件進行查詢,但是與AND關鍵字不同,OR關鍵字只要滿足查詢條件中的一個,那么此記錄就會被查詢出來;如果不滿足這些查詢條件中的任何一個,這樣的記錄將被排除掉。
OR關鍵字的語法格式如下:
select * from 數據表名 where 條件1 OR 條件2 […OR 條件表達式n];
SELECT * FROM info WHERE age =23 or name ='san';
查詢結果:
使用DISTINCT關鍵字可以去除查詢結果中的重復記錄
語法格式如下:
select distinct 字段名 from 表名;
select distinct score from info;
查詢結果:
去重前:
使用ORDER BY可以對查詢的結果進行升序(ASC)和降序(DESC)排列,在默認情況下,ORDER BY按升序輸出結果。如果要按降序排列可以使用DESC來實現。
語法格式如下:
ORDER BY 字段名 [ASC|DESC];
select * from info ORDER BY score;
查詢結果:
通過GROUP BY子句可以將數據劃分到不同的組中,實現對記錄進行分組查詢。在查詢時,所查詢的列必須包含在分組的列中,目的是使查詢到的數據沒有矛盾。
select id,age from info GROUP BY age;
查詢結果:
查詢數據時,可能會查詢出很多的記錄。而用戶需要的記錄可能只是很少的一部分。這樣就需要來限制查詢結果的數量。LIMIT是MySQL中的一個特殊關鍵字。LIMIT子句可以對查詢結果的記錄條數進行限定,控制它輸出的行數。
select * from info ORDER BY score LIMIT 3;
查詢結果:
看完上述內容,你們學會使用select語句單表查詢的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。