Mysql | 總結 | 常用的查詢語句(單表查詢)


1. 查詢單表全部

  select* from 數據表名;

2. 查詢單表中一個或者多個字段

  select 字段1,字段2 from 數據表名;

3. 查詢單表中的指定信息

  select* from 數據表名 where 屬性= .....;

 

  查詢所有紅色的產品號

SELECT ProductNumber
from SalesLT.Product
WHERE Color = 'Red'

  

4. 帶有 IN 關鍵字的查詢

   Select* from 數據表 where 字段 [NOT] IN (字段值1,字段值2…字段值n);   

                            <注:最適於數組作為查詢條件,即:in (數組數據)>

5.帶BETWEEN and 的范圍查詢

  select * from 數據表 where 字段 [NOT] BETWEEN 取值1 and 取值2;

 

6. 帶like的字符匹配查詢

  select * from 數據表 where 屬性 like '%SQL%';//查詢屬性中包含SQL字符的數據

 

---查詢產品名稱中包含'Road'關鍵字的。

SELECT Name
FROM SalesLT.Product
WHERE Name like '%Road%'
GO

  

 

  select * from 數據表 where 屬性 like 'a%b';// //查詢屬性中以a開頭以b結尾的字符串的數據

  select * from 數據表 where 屬性 like 'm_n';//查詢屬性中以m開頭以n結尾的3個字符的數據,中間的‘_’只能代表一個字符

 

7.帶AND的多條件查詢

   select* from 數據表名 where 屬性= ..... AND 屬性=......;

  

  --查詢成本價介於200到300之間的產品名稱和成本價。

SELECT Name,StandardCost
FROM SalesLT.Product
WHERE StandardCost >= 200 and StandardCost <= 300
GO

  

 

8. 帶OR的多條件查詢

  select* from 數據表名 where 屬性= ..... OR 屬性=......;

 --查詢LastName是Li、Liu、Lang的客戶姓名

SELECT concat(FirstName ,' ', LastName)as Name
FROM SalesLT.Customer
WHERE LastName = 'Li' or LastName = 'Liu' or LastName = 'Lang' 
GO

  

 

9.用DISTINCT關鍵字去除結果中的重復行

 

  查詢Address表中,不同的國家和省份。
Select  DISTINCT  CountryRegion,StateProvince
from SalesLT.Address
GO

  

 

 

10. 用ORDER BY 關鍵字對查詢結果排序

 

   查詢所有產品,包括產品名稱、銷售價、成本價和利潤(銷售價與成本價之差),並按利潤從高到低的順序排序

select Name,ListPrice,StandardCost,ListPrice-StandardCost as profit
from SalesLT.Product order by profit desc

  

 

11.  用GROUP BY關鍵字分組查詢

  (1)    用GROUP BY關鍵字分組查詢

 

  (2)    GROUP BY 關鍵字與 GROU_CONCAT函數一起使用

 

  (3)按多個字段進行分組

 

12. 用LIMIT限制查詢結果的數量

 

樣例:

--1.查詢所有客戶,將Title、FirstName和LastName合並成一列,之間用空格分開
SELECT CONCAT(Title,' ',FirstName,' ',LastName) AS name
FROM SalesLT.Customer
GO

 

 --5. 查詢銷售價格小於100的產品號和銷售價格

SELECT  ProductNumber,ListPrice
from SalesLT.Product
where ListPrice < 100
GO

  

 

--9. 查詢已停止銷售(SellEndDate不為空)的產品名稱,以及產品的銷售天數。 函數處理

SELECT Name,DATEDIFF(day,SellStartDate,SellEndDate)  as Day
FROM SalesLT.Product 
WHERE SellEndDate is not null
GO

  

 

-- 10. 查詢客戶所在公司名稱中包含bike或bicycle的用戶名和公司名。

SELECT concat(FirstName ,' ', LastName)as Name,CompanyName
FROM SalesLT.Customer
WHERE CompanyName like '%bike%' or CompanyName like '%bicycle%'
GO

  

 

--11. 查詢分類號(ProductCategaryID)是18,紅色的產品編號,並按尺寸從小到大的順序排列

SELECT ProductNumber
from SalesLT.Product
WHERE Color = 'Red' and ProductCategoryID = 18
order by Size 
GO

  

 

--12. 匯總所有訂單的小計值、稅款、運費和總金額。 Sum求和

SELECT SUM(SubTotal ) as SubTotal ,SUM(TaxAmt)as TaxAmt,
        SUM(Freight) as Freight,SUM(TotalDue) as TatalDue
from SalesLT.SalesOrderHeader
go

  

 

 --13. 查詢累計訂單總金額超過10萬的客戶號和總金額。

SELECT CustomerID ,SUM(SubTotal) as SubTotal 
from SalesLT.SalesOrderHeader 
where SubTotal>100000
group by CustomerID
go

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM