1,DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT Company FROM Orders
查询Company字段不同的值 如果有相同的值不返回
2,top从上面选取多少条数据
SELECT TOP 5 * FROM Persons选取上面5条
SELECT TOP 50 PERCENT * FROM Persons选取50%的数据
3,like 和not like模糊查新。
%n,n%,%n%,分别是以n皆为,以n开头和包含n的。
4,通用符,
(1)D_G_H表示第一个字符是D下一个字符任意下一是G在下一个任意最后是H的
(2)SELECT * FROM Persons WHERE City LIKE '[ALN]%'表示以ALN开头的不是则用[!ALN]%表示
5,Alias别名例如:
SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p, Product_Orders AS po
WHERE p.LastName='Adams' AND p.FirstName='John'
6,表关联join。
inner join:返回两边符合条件的数据的全部数据,
left join:返回左边全部数据不管右边是否符合没有为空
right join:返回右边的全部数据,不管左边是否符合没有为空
full jion:返回全部数据不管俩边是否符合没有为空
select * from user left join usermes on usermes.userno=user.id where...
7,UNION合并多个查询数据。只能返回不重复数据,如果重复只返回一个
ELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
8,SELECT... INTO ... 查询插入。
SELECT *
INTO Persons_backup
FROM Persons
9,ALTER对列做操作
(1)添加列ALTER TABLE table_name ADD column_name datatype
(2)删除列ALTER TABLE table_name DROP COLUMN column_name
(3)改变列数据类型ALTER TABLE table_name ALTER COLUMN Birthday year
10,IS NULL 和 IS NOT NULL 查询为空的和不为空的。
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
11,limit查询
select * from table LIMIT 5,10; #返回第6-15行数据
select * from table LIMIT 5; #返回前5行
select * from table LIMIT 0,5; #返回前5行
SELECT * FROM table limit 9,1;#查询第9条的下一个size=1
SELECT * FROM table limit 9,2;#查询第9条的后面的两个size=2
12,总记录
最简单:select count(*) from table
扩展:select count(列名) from table where 条件
13,in:操作符允许我们在 WHERE 子句中规定多个值。
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')
Persons表中 字段LastName值为Adams和Carter的所有数据
SELECT DISTINCT Company FROM Orders
查询Company字段不同的值 如果有相同的值不返回
2,top从上面选取多少条数据
SELECT TOP 5 * FROM Persons选取上面5条
SELECT TOP 50 PERCENT * FROM Persons选取50%的数据
3,like 和not like模糊查新。
%n,n%,%n%,分别是以n皆为,以n开头和包含n的。
4,通用符,
(1)D_G_H表示第一个字符是D下一个字符任意下一是G在下一个任意最后是H的
(2)SELECT * FROM Persons WHERE City LIKE '[ALN]%'表示以ALN开头的不是则用[!ALN]%表示
5,Alias别名例如:
SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p, Product_Orders AS po
WHERE p.LastName='Adams' AND p.FirstName='John'
6,表关联join。
inner join:返回两边符合条件的数据的全部数据,
left join:返回左边全部数据不管右边是否符合没有为空
right join:返回右边的全部数据,不管左边是否符合没有为空
full jion:返回全部数据不管俩边是否符合没有为空
select * from user left join usermes on usermes.userno=user.id where...
7,UNION合并多个查询数据。只能返回不重复数据,如果重复只返回一个
ELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
8,SELECT... INTO ... 查询插入。
SELECT *
INTO Persons_backup
FROM Persons
9,ALTER对列做操作
(1)添加列ALTER TABLE table_name ADD column_name datatype
(2)删除列ALTER TABLE table_name DROP COLUMN column_name
(3)改变列数据类型ALTER TABLE table_name ALTER COLUMN Birthday year
10,IS NULL 和 IS NOT NULL 查询为空的和不为空的。
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
11,limit查询
select * from table LIMIT 5,10; #返回第6-15行数据
select * from table LIMIT 5; #返回前5行
select * from table LIMIT 0,5; #返回前5行
SELECT * FROM table limit 9,1;#查询第9条的下一个size=1
SELECT * FROM table limit 9,2;#查询第9条的后面的两个size=2
12,总记录
最简单:select count(*) from table
扩展:select count(列名) from table where 条件
13,in:操作符允许我们在 WHERE 子句中规定多个值。
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')
Persons表中 字段LastName值为Adams和Carter的所有数据