1、SELECT DISTINCT语法用于仅返回不同的(different)值。
SELECT DISTINCT column1, column2, …FROM table_name;
2、判断是否为null (IS NOT NULL)
SQL> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
WHERE SALARY IS NULL
3、删除语句
SQL> DELETE FROM table_name
WHERE condition;
4、更新语句
SQL> UPDATE table_name
SET column1 = value1, column2 = value2, …
WHERE condition;
5、查询数据
SQL> SELECT TOP 10 PERCENT * FROM ChannelBooking (查询10%记录)
SQL> SELECT TOP 10 * FROM ChannelBooking (查询前10条记录)
6、Like用法
SQL> WHERE CustomerName LIKE ‘a%’ 查找以“a”开头的任何值
SQL> WHERE CustomerName LIKE ‘%a’ 查找以“a”结尾的任何值
SQL> WHERE CustomerName LIKE ‘%or%’ 在任何位置查找任何具有“or”的值
SQL> WHERE CustomerName LIKE ‘_r%’ 在第二个位置查找任何具有“r”的值
SQL> WHERE CustomerName LIKE ‘a_%_%’ 查找以“a”开头且长度至少为3个字符的值
SQL> WHERE ContactName LIKE ‘a%o’ 找到以"a"开头,以"o"结尾的值
7、SQL IN用法
SQL> SELECT * FROM Customers WHERE ContactName IN();
8、BETWEEN
SQL>SELECT * FROM Products WHERE Price BETWEEN 10 AND 20;
SQL>SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20;
9、INNER JOIN 用于查询2张表中的字段都存在的数据(交集)
SQL>SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID
10、 SQL JOIN 类型:
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行
11、数据字段为NUll的时候转化为0
ISNull(字段名称,0)
12、判断数据是否存在 NOT EXISTS (不存在) EXISTS(存在)
SQL>IF NOT EXISTS (SELECT 1 FROM dbo.Organization WHERE OrgID = @EndOrgID AND IsValid = 1)
BEGIN
END
13、使用分页(先获取到SN 的值(OrderBy 根据时间进行排序)
SQL> SELECT ROW_NUMBER() OVER (ORDER BY H.CreateTime DESC) AS SN
SELECT *
INTO #PageTemp
FROM #Temp AS A
WHERE A.SN <= @PageIndex * @PageSize AND A.SN > (@PageIndex - 1) * @PageSize
ORDER BY SN;
14、sqlServer 中将string转化时间
SQL> CONVERT(Datetime, ‘1900-01-01 00:00:00’, 120)
15、CASE WHEN 的用法
SQL> CASE WHEN sex = ‘1’ THEN ‘男’
WHEN sex = ‘2’ THEN ‘女’
ELSE ‘其他’ END
16、删除
DROP TABLE 语句用于删除表
SQL> DROP TABLE table_name
DROP DATABASE 语句用于删除数据库。
SQL> DROP DATABASE database_name
仅需要删除表内的数据,但并不删除表本身
SQL> TRUNCATE TABLE table_name
17、SELECT INTO 语法
将数据写入临时表中
SELECT * INTO #TEMP FROM dbo.Organization c WITH(NOLOCK)
18、SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。
同时,每个 SELECT 语句中的列的顺序必须相同。
1>SQL UNION 语法
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
2>SQL UNION ALL 语法
SQL> SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
19、SQL INSERT INTO SELECT 语法
SQL> INSERT INTO table2
SELECT * FROM table1;
20、SQL CREATE TABLE 实例 创建table
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
21、SQL DEFAULT 约束设置默认值
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT ‘Sandnes’//默认值为Sandnes
)
22、CREATE INDEX(创建索引)
SQL CREATE INDEX 语法
在表上创建一个简单的索引。允许使用重复的值:
CREATE INDEX index_name
SQL CREATE UNIQUE INDEX 语法
创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
23、IS NULL ,IS NOT NULL
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
24、SQL AVG() 语法 平均值。
SELECT AVG(column_name) FROM table_name
25、MIN() 函数MIN() 函数返回指定列的最小值。
SELECT MIN(column_name) FROM table_name;
26、SUM() 函数返回数值列的总数。
SELECT SUM(column_name) FROM table_name;