關於MySql經典高頻查詢語句的整理

来源:http://www.cnblogs.com/jly144000/archive/2017/10/16/7678859.html
-Advertisement-
Play Games

一查詢數值型數據: SELECT * FROM tb_name WHERE sum > 100; 查詢謂詞:>,=,<,<>,!=,!>,!<,=>,=< 二查詢字元串 SELECT * FROM tb_stu WHERE sname = '小劉' SELECT * FROM tb_stu WHER ...


一查詢數值型數據:
 SELECT * FROM tb_name WHERE sum > 100;
 查詢謂詞:>,=,<,<>,!=,!>,!<,=>,=<
 
二查詢字元串
 SELECT * FROM tb_stu  WHERE sname  =  '小劉'
 SELECT * FROM tb_stu  WHERE sname like '劉%'
 SELECT * FROM tb_stu  WHERE sname like '%程式員'
 SELECT * FROM tb_stu  WHERE sname like '%PHP%'
 
三查詢日期型數據
 SELECT * FROM tb_stu WHERE date = '2011-04-08'
 註:不同資料庫對日期型數據存在差異: :
 (1)MySQL:SELECT * from tb_name WHERE birthday = '2011-04-08'
 (2)SQL Server:SELECT * from tb_name WHERE birthday = '2011-04-08'
 (3)Access:SELECT * from tb_name WHERE birthday = #2011-04-08#
 
四查詢邏輯型數據
 SELECT * FROM tb_name WHERE type = 'T'
 SELECT * FROM tb_name WHERE type = 'F'
 邏輯運算符:and or not
 
五查詢非空數據
 SELECT * FROM tb_name WHERE address <>'' order by addtime desc
 註:<>相當於PHP中的!=
 
六利用變數查詢數值型數據
 SELECT * FROM tb_name WHERE id = '$_POST[text]' 
註:利用變數查詢數據時,傳入SQL的變數不必用引號括起來,因為PHP中的字元串與數值型數據進行連接時,程式會自動將數值型數據轉變成字元串,然後與要連接的字元串進行連接
 
七利用變數查詢字元串數據 
SELECT * FROM tb_name WHERE name LIKE '%$_POST[name]%' 
完全匹配的方法"%%"表示可以出現在任何位置
 
八查詢前n條記錄
 SELECT * FROM tb_name LIMIT 0,$N;
 limit語句與其他語句,如order by等語句聯合使用,會使用SQL語句千變萬化,使程式非常靈活
 
九查詢後n條記錄
 SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n
 
十查詢從指定位置開始的n條記錄
 SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n
 註意:數據的id是從0開始的
 
十一查詢統計結果中的前n條記錄
 SELECT * ,(yw+sx+wy) AS total FROM tb_score ORDER BY (yw+sx+wy) DESC LIMIT 0,$num
 
十二查詢指定時間段的數據
 SELECT  要查找的欄位 FROM 表名 WHERE 欄位名 BETWEEN 初始值 AND 終止值
 SELECT * FROM tb_stu WHERE age BETWEEN 0 AND 18
 
十三按月查詢統計數據
 SELECT * FROM tb_stu WHERE month(date) = '$_POST[date]' ORDER BY date ;
 註:SQL語言中提供瞭如下函數,利用這些函數可以很方便地實現按年、月、日進行查詢
 year(data):返回data表達式中的公元年分所對應的數值
 month(data):返回data表達式中的月分所對應的數值
 day(data):返回data表達式中的日期所對應的數值
 
十四查詢大於指定條件的記錄
 SELECT * FROM tb_stu WHERE age>$_POST[age] ORDER BY age;
 
十五查詢結果不顯示重覆記錄
 SELECT DISTINCT 欄位名 FROM 表名 WHERE 查詢條件 
註:SQL語句中的DISTINCT必須與WHERE子句聯合使用,否則輸出的信息不會有變化 ,且欄位不能用*代替
 
十六NOT與謂詞進行組合條件的查詢
 (1)NOT BERWEEN … AND … 對介於起始值和終止值間的數據時行查詢 可改成 <起始值 AND >終止值
 (2)IS NOT NULL 對非空值進行查詢 
 (3)IS NULL 對空值進行查詢
 (4)NOT IN 該式根據使用的關鍵字是包含在列表內還是排除在列表外,指定表達式的搜索,搜索表達式可以是常量或列名,而列名可以是一組常量,但更多情況下是子查詢
 
十七顯示數據表中重覆的記錄和記錄條數
 SELECT  name,age,count(*) ,age FROM tb_stu WHERE age = '19' group by date
 
十八對數據進行降序/升序查詢
 SELECT 欄位名 FROM tb_stu WHERE 條件 ORDER BY 欄位 DESC 降序
 SELECT 欄位名 FROM tb_stu WHERE 條件 ORDER BY 欄位 ASC  升序
 註:對欄位進行排序時若不指定排序方式,則預設為ASC升序
 
十九對數據進行多條件查詢
 SELECT 欄位名 FROM tb_stu WHERE 條件 ORDER BY 欄位1 ASC 欄位2 DESC  …
 註意:對查詢信息進行多條件排序是為了共同限制記錄的輸出,一般情況下,由於不是單一條件限制,所以在輸出效果上有一些差別。
 
二十對統計結果進行排序
 函數SUM([ALL]欄位名) 或 SUM([DISTINCT]欄位名),可實現對欄位的求和,函數中為ALL時為所有該欄位所有記錄求和,若為DISTINCT則為該欄位所有不重覆記錄的欄位求和
 如:SELECT name,SUM(price) AS sumprice  FROM tb_price GROUP BY name
 
SELECT * FROM tb_name ORDER BY mount DESC,price ASC
 
二十一單列數據分組統計
 SELECT id,name,SUM(price) AS title,date FROM tb_price GROUP BY pid ORDER BY title DESC
 註:當分組語句group by排序語句order by同時出現在SQL語句中時,要將分組語句書寫在排序語句的前面,否則會出現錯誤
 
二十二多列數據分組統計
 多列數據分組統計與單列數據分組統計類似 
SELECT *,SUM(欄位1*欄位2) AS (新欄位1) FROM 表名 GROUP BY 欄位 ORDER BY 新欄位1 DESC
 SELECT id,name,SUM(price*num) AS sumprice  FROM tb_price GROUP BY pid ORDER BY sumprice DESC
 註:group by語句後面一般為不是聚合函數的數列,即不是要分組的列
 
二十三多表分組統計
 SELECT a.name,AVG(a.price),b.name,AVG(b.price) FROM tb_demo058 AS a,tb_demo058_1 AS b WHERE a.id=b.id GROUP BY b.type;


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 之前在做筆試題的時候遇到一個問題:Activity A切換到ActivityB時,A和B的生命周期變化。 事實上,它們的生命周期變化是這樣的: 1、A的onPause()方法被執行。 2、B的onCreate()方法,onStart(),onResume()方法被順序執行。 3、如果B是不透明的,A ...
  • 10月9日,中國首屆原型設計大賽在成都開幕。此次大賽由國內優秀原型設計工具Mockplus主辦,國內多家知名協會、企業、高校協辦。本次大賽專註原型設計,旨在推動中國產品設計行業的發展,挖掘和培育設計人才,在國內尚屬首次。 近年來,隨著各類軟體、App的井噴,用戶體驗設計的要求不斷提高,產品設計行業發 ...
  • 1. 進程和線程 1.1 進程 進程:正在運行的應用程式叫進程 進程之間都是獨立的,運行在專用且受保護的記憶體空間中 兩個進程之間無法通訊 通俗的理解,手機上同時開啟了兩個App。這兩個App肯定是在不同的進程中的。所以這兩個App之間是獨立的,記憶體中的數據不能互相竄來竄去,兩個App之間也沒有辦法進 ...
  • 本篇博客的內容也不算太複雜,算是AutoLayout的一些高級的用法。本篇博客我們主要通過一些示例來看一下AutoLayout中的Content Hugging Priority以及Content Compression Resistance Priority這兩個優先順序。下方我們先來簡單的看一下這 ...
  • 線性佈局(LinearLayout) 備註 match_parent 填充佈局單元內儘可能多的空間 wrap_content 完整顯示控制項內容 orientation 有兩個值, horizontal 水平顯示, vertical 垂直顯示 百分比 使用百分比需要將 width 屬性設置為0或0px ...
  • Oracle資料庫 內置系統函數主要分為以下類別:數學函數、字元串函數、日期函數、轉換函數、聚合函數、分析聚合函數 一、數學函數 返回數字 abs(n):返回數字n的絕對值 ceil(n):返回>=數字n的最小整數 floor(n):返回<=數字n的最大整數 round(n,[m]):做四捨五入運算 ...
  • 每次看到馬路對面摩托羅拉的大牌子,都想起谷歌125億美元收購摩托羅拉移動,後來又以29億美元賣給聯想的事情。谷歌所做的決策都比較考慮長遠利益,在這串交易中,谷歌獲得了摩托羅拉最有價值的幾千項專利,穩健了Android的生態。谷歌曾經在美國一個地區占用巨大的面積建立了太陽能發電站,人稱“烤鳥”項目。因 ...
  • 今天遇到一個案例,在使用命令修改一個測試伺服器(SQL Server 2014標準版)的伺服器排序規則時,遇到了下麵錯誤信息 (具體賬號信息脫敏處理,隨機生成一個賬號密碼) The Windows account sa does not exist and cannot be provisioned... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...