SQL基础教程语法
1.SQL SELECT DISTINCT 语法:SELECT DISTINCT 列名称 FROM 表名称
举例:SELECT DISTINCT Company FROM Orders (去除Company中的重复数据)
2.SQL WHERE 子句:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值**
举例:如果只希望选取居住在城市 “Beijing” 中的人
SELECT * FROM Persons WHERE City=‘Beijing’;
注意:SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
3.SQL AND & OR 运算符语法:AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
AND实例:使用 AND 来显示所有姓为 “Carter” 并且名为 “Thomas” 的人
SELECT * FROM Persons WHERE firstname=‘Carter’ and lastname=‘Thomas’;
OR实例:使用 OR 来显示所有姓为 “Carter” 或者名为 “Thomas” 的人:
SELECT * FROM Persons WHERE firstname=‘Carter’ or lastname=‘Thomas’;
AND 和 OR 结合实例:使用AND和OR 查出姓为Carter 且 名为Thomas或者William
SELECT * FROM Persons WHERE (FirstName=‘Thomas’ OR FirstName=‘William’)
AND LastName=‘Carter’
4.SQL ORDER BY 子句:ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
举例:SELECT * FROM Orders Order By Company DESC,orderNumber ASC;
5.INSERT INTO 语句:INSERT INTO 表名称 VALUES (值1, 值2,…) INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,…)
举例:INSERT INTO Persons VALUES (‘Gates’, ‘Bill’, ‘Xuanwumen 10’, ‘Beijing’)
INSERT INTO Persons (LastName, Address) VALUES (‘Wilson’, ‘Champs-Elysees’)
6.SQL UPDATE 语句:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
举例:
更新某一行中的一个列:为lastname 是 “Wilson” 的人添加 firstname:
UPDATE Persons SET firstname=‘frd’ WHERE LastName=‘Wilson’;
更新某一行中的若干列:会修改地址(address),并添加城市名称(city)
UPDATE Person SET Address = ‘Zhongshan 23’, City = ‘Nanjing’
WHERE LastName = ‘Wilson’
7.SQL DELETE 语句:DELETE FROM 表名称 WHERE 列名称 = 值
举例:DELETE FROM Person WHRER LastName=‘Wilson’;
SQL高级教程语法
1.SQL TOP 子句:SELECT TOP number|percent column_name(s) FROM table_name
举例:
从person表中选取头两条记录
select top 2 *from Persons;
从 “Persons” 表中选取 50% 的记录
select top 50 percent * from persons;
2.SQL LIKE 操作符:LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
语法:SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
举例:从 “Persons” 表中选取居住在以 “N” 开始的城市里的人
SELECT *FROM Persons WHERE City LIKE ‘N%’
可以使用NOT关键字选取不包含" lon"的数据
3.SQL IN 操作符:IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,…)
举例:从表中选取姓氏为 Adams 和 Carter 的人
SELECT * FROM Persons WHERE LastName IN (‘Adams’,‘Carter’)
4.SQL BETWEEN 操作符:BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
举例:以字母顺序显示介于 “Adams”(包括)和 “Carter”(不包括)之间的人
SELEC * FROM Persons WHERE LastName Between ‘Adams’ AND ‘Carter’
5.SQL AS 用法:
SELECT LastName AS Family, FirstName AS Name FROM Persons
6.SQL JOIN:用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
SQL函数
AVG:返回某列的平均值
举例:希望找到 OrderPrice 值高于 OrderPrice 平均值的客户
SELECT Customer FROM Orders WHERE OrderPrice>(SELCET AVG(OrderPrice) FROM Orders)
COUNT(column):返回某列的行数(不包括NULL值)
COUNT(*):返回被选函数
MAX(column):返回某列的最高值
MIN(column):返回某列的最低值
SUM(column):返回某列的总和。常常需要添加 GROUP BY语句。
举例:希望查找每个客户的总金额(总订单)
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer
SQL HAVING 子句:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
举例:希望查找订单总金额少于 2000 的客户。
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000