您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關sql數據庫查詢語句怎么實現,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
sql數據庫查詢語句的完整語法是“Select [select選項] 字段列表[字段別名]/* from 數據源 [where 字句] [group by子句 ][having 子句][order by 子句][limit 子句];”。
本教程操作環境:windows7系統、mysql8版、Dell G3電腦。
數據庫是mysql,使用的數據庫表名稱是my_student.
表的完整數據信息是:
完整語法是:
Select [select選項] 字段列表[字段別名]/* from 數據源 [where 字句] [group by子句 ][having 子句][order by 子句][limit 子句];
①[select選項]:
Select 選項包含:ALL(所有,默認)、distinct(去重)。其中distinct針對的是查詢結果的整條記錄而言的。
select DISTINCT(sex) from my_student;
select DISTINCT(sex),name from my_student; 和 selectDISTINCT sex,name from my_student;結果是一樣的。
②[where 字句]:where是唯一一個從磁盤開始拿數據的時候就開始進行判斷的條件,從磁盤取出一條記錄,開始進行where判斷,判斷結果如果成立,那么取出結果保存到內存,否則放棄。
select * from my_student where name = '哈哈1';
③[group by 子句 ]:分組子句,group by子句主要的作用是分組,從而進行統計操作,而不是為了展示(展示的時候,只會展示分組記錄的第一條記錄),分組時,一般會結合使用count()、max()、min()、avg()、sum()函數。
A、單子段分組:
selectc_id,count(*),max(height),min(height),avg(height),sum(age) from my_studentgroup by c_id ;
sql語句的意思是:my_student表以c_id進行分組,然后顯示分組后的每組的c_id名稱、每組的總數、每組的最高、最低、平均身高和每組的年齡總和。
B、多字段分組
select c_id,sex,count(*),max(height),min(height),avg(height),sum(age)from my_student group by c_id ,sex;
表示的含義是,對整個表先按照c_id進行分組,然后在此分組的基礎之上,然后每組再按照sex,進行分組。
C、多字段分組(加上顯示每組的某一字段的所有數據)
selectc_id,sex,count(*),max(height),min(height),avg(height),sum(age) ,GROUP_CONCAT(name)from my_student group by c_id ,sex;
④[having 子句]:having的作用類同where,而且having能做幾乎所有where能做的事情,而where卻不能做having能做的很多事情,主要是因為
where只能在磁盤提取數據的時候對數據進行操作;而在內存中對數據進行group by分組之后的結果進行處理,只能通過having。
selectc_id,count(*),max(height),min(height),avg(height),sum(age) from my_studentgroup by c_id having COUNT(*) >= 3;
⑤[order by 子句]:對數據進行排序操作,根據某個字段進行升序或者降序排序。(進行多字段排序的時候,先根據某一字段進行潘旭,然后在排序好的內部再按照某字段進行排序)
A、單個字段的排序:
select * from my_student order by c_id;
B、多字段排序
select * from my_student order by c_id,sex;
⑥[limit 子句]:限制結果的數量。Limit 偏移量 記錄條數;
A、select * frommy_student limit 2;
B、select * frommy_student limit 0,3;
關于“sql數據庫查詢語句怎么實現”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。