新聞中心
SQL Server查詢語句大全:技巧與實(shí)戰(zhàn)案例分享

概述
SQL Server 是一個(gè)廣泛使用的數(shù)據(jù)庫管理系統(tǒng),其查詢語句是數(shù)據(jù)庫操作的核心,掌握各種查詢語句對于數(shù)據(jù)庫管理和數(shù)據(jù)分析至關(guān)重要,本文將為您詳細(xì)介紹 SQL Server 的常用查詢語句,包括基礎(chǔ)查詢、條件查詢、分組查詢、連接查詢等,并通過實(shí)戰(zhàn)案例分享,幫助您在實(shí)際工作中更加高效地使用 SQL Server。
基礎(chǔ)查詢
1、查詢所有列
SELECT * FROM 表名;
2、查詢指定列
SELECT 列1, 列2, ..., 列n FROM 表名;
3、查詢指定列并指定別名
SELECT 列1 AS 別名1, 列2 AS 別名2, ..., 列n AS 別名n FROM 表名;
4、查詢?nèi)ブ財(cái)?shù)據(jù)
SELECT DISTINCT 列名 FROM 表名;
條件查詢
1、簡單條件查詢
SELECT * FROM 表名 WHERE 列名 = 值;
2、邏輯運(yùn)算符條件查詢
SELECT * FROM 表名 WHERE 列名1 = 值1 AND 列名2 = 值2; SELECT * FROM 表名 WHERE 列名1 = 值1 OR 列名2 = 值2; SELECT * FROM 表名 WHERE NOT (列名 = 值);
3、模糊查詢
SELECT * FROM 表名 WHERE 列名 LIKE '通配符表達(dá)式';
通配符:% 表示任意個(gè)字符,_ 表示一個(gè)字符。
SELECT * FROM Students WHERE Name LIKE '張%'; SELECT * FROM Students WHERE Name LIKE '張_';
4、范圍查詢
SELECT * FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2;
5、IN 查詢
SELECT * FROM 表名 WHERE 列名 IN (值1, 值2, ..., 值n);
6、NULL 值查詢
SELECT * FROM 表名 WHERE 列名 IS NULL; SELECT * FROM 表名 WHERE 列名 IS NOT NULL;
分組查詢
1、GROUP BY 分組查詢
SELECT 列名, 聚合函數(shù) FROM 表名 GROUP BY 列名;
SELECT DepartmentID, COUNT(*) AS Total FROM Employees GROUP BY DepartmentID;
2、HAVING 子句
HAVING 子句用于對分組后的結(jié)果進(jìn)行條件篩選。
SELECT 列名, 聚合函數(shù) FROM 表名 GROUP BY 列名 HAVING 聚合函數(shù)條件;
SELECT DepartmentID, COUNT(*) AS Total FROM Employees GROUP BY DepartmentID HAVING COUNT(*) > 5;
連接查詢
1、INNER JOIN 內(nèi)連接
內(nèi)連接查詢兩個(gè)表中有匹配的記錄。
SELECT A.列名, B.列名 FROM 表A INNER JOIN 表B ON A.關(guān)聯(lián)列 = B.關(guān)聯(lián)列;
2、LEFT JOIN 左連接
左連接查詢左表所有記錄和右表中匹配的記錄。
SELECT A.列名, B.列名 FROM 表A LEFT JOIN 表B ON A.關(guān)聯(lián)列 = B.關(guān)聯(lián)列;
3、RIGHT JOIN 右連接
右連接查詢右表所有記錄和左表中匹配的記錄。
SELECT A.列名, B.列名 FROM 表A RIGHT JOIN 表B ON A.關(guān)聯(lián)列 = B.關(guān)聯(lián)列;
4、FULL JOIN 全連接
全連接查詢左表和右表中的所有記錄。
SELECT A.列名, B.列名 FROM 表A FULL JOIN 表B ON A.關(guān)聯(lián)列 = B.關(guān)聯(lián)列;
子查詢
子查詢是嵌套在另一個(gè)查詢中的查詢。
1、WHERE 子句中的子查詢
SELECT * FROM 表名 WHERE 列名 = (SELECT 列名 FROM 另一個(gè)表 WHERE 條件);
2、FROM 子句中的子查詢
SELECT * FROM (SELECT 列名 FROM 另一個(gè)表 WHERE 條件) AS 子查詢別名;
3、SELECT 子句中的子查詢
SELECT 列名, (SELECT 列名 FROM 另一個(gè)表 WHERE 條件) AS 子查詢別名 FROM 表名;
實(shí)戰(zhàn)案例
1、查詢各部門平均工資
SELECT DepartmentID, AVG(Salary) AS AverageSalary FROM Employees GROUP BY DepartmentID;
2、查詢各部門工資最高的員工
SELECT DepartmentID, MAX(Salary) AS MaxSalary FROM Employees GROUP BY DepartmentID;
3、查詢員工及其部門名稱
SELECT e.EmployeeID, e.Name, d.DepartmentName FROM Employees e INNER JOIN Departments d ON e.DepartmentID = d.DepartmentID;
4、查詢沒有訂單的顧客
SELECT c.CustomerID, c.Name FROM Customers c LEFT JOIN Orders o ON c.CustomerID = o.CustomerID WHERE o.CustomerID IS NULL;
5、查詢工資排名前五的員工
SELECT TOP 5 EmployeeID, Name, Salary FROM Employees ORDER BY Salary DESC;
本文為您詳細(xì)介紹了 SQL Server 的查詢語句,包括基礎(chǔ)查詢、條件查詢、分組查詢、連接查詢和子查詢等,通過實(shí)戰(zhàn)案例,您可以更好地理解這些查詢語句在實(shí)際工作中的應(yīng)用,掌握這些查詢技巧,將有助于提高您的數(shù)據(jù)庫管理和數(shù)據(jù)分析能力,在實(shí)際工作中,您可以根據(jù)需求靈活運(yùn)用這些查詢語句,以滿足不同的業(yè)務(wù)場景。
網(wǎng)頁名稱:SQLServer查詢語句大全集錦
網(wǎng)頁地址:http://fisionsoft.com.cn/article/codphde.html


咨詢
建站咨詢
