黑马程序员 常用SQL语句小结

来源:互联网 发布:vb.net 注释 编辑:程序博客网 时间:2024/04/30 01:55

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------

SQL 对大小写不敏感。

 

CREATE DATABASE - 创建新数据库

ALTER DATABASE - 修改数据库

CREATE TABLE - 创建新表

ALTER TABLE - 变更(改变)数据库表

DROP TABLE - 删除表

 

SELECT  从数据库表中获取数据

UPDATE  更新数据库表中的数据

DELETE  从数据库表中删除数据

INSERT INTO  向数据库表中插入数据

COUNT(column) 返回某列的行数(不包括 NULL 值)

COUNT(*)  返回被选行数

FIRST(column) 返回在指定的域中第一个记录的值

LAST(column)  返回在指定的域中最后一个记录的值

MAX(column)   返回某列的最高值

MIN(column)   返回某列的最低值

SUM(column)   返回某列的总和

AVG(column)    返回某列的平均值

TOP(*)    返回前几条记录

 

SELECT 列名称 FROM 表名称

SELECT LastName,FirstName FROM Persons

 

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

SELECT * FROM Persons WHERE City='Beijing'

SELECT * FROM Persons WHERE Year>1965


AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

SELECT * FROM Persons WHERE FirstName='张' AND LastName='三'

SELECT * FROM Persons WHERE firstname='张' OR lastname='三'


ORDER BY语句用于根据指定的列对结果集进行排序,默认是升序,要递减则要加DESC。

SELECT Company FROM Orders ORDER BY Company

SELECT Company FROM Orders ORDER BY Company DESCSELECT Company FROM Orders ORDER BY Company DESC, OrderNumber ASC //先把前面的排序,然后再排序后面的。

 

Update 语句用于修改表中的数据。

UPDATE Person SET FirstName = '李' WHERE LastName = '四'

UPDATE Person SET Address = 'Zhongshan', City = 'Nanjing' WHERE LastName = '四'


DELETE 语句用于删除表中的行。

DELETE FROM Person WHERE LastName = '四'


INSERT INTO 语句用于向表格中插入新的行。

INSERT INTO Persons VALUES ('张', '三', 'Beijing')

INSERT INTO Persons (FirstName,LastName, Address) VALUES ('李', '四', 'Champs')//推荐用这种写法


LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

在City列中找出所有字母A开头:

SELECT * FROM Persons WHERE City LIKE 'A%'

_仅替代一个字符:

SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'

以 "A" 或 "L" 或 "N" 开头的:

SELECT * FROM Persons WHERE City LIKE '[ALN]%'


不以 "A" 或 "L" 或 "N" 开头的:

SELECT * FROM Persons WHERE City LIKE '[!ALN]%'


IN 操作符允许我们在 WHERE 子句中规定多个值。

SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')


BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

 

SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons, Orders

WHERE Persons.Id_P = Orders.Id_P

等同于:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons

INNER JOIN Orders

ON Persons.Id_P = Orders.Id_P

 

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

SELECT E_Name FROM Employees_China

UNION

SELECT E_Name FROM Employees_USA


默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SELECT E_Name FROM Employees_China

UNION ALL

SELECT E_Name FROM Employees_USA

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer

按每个用户的消费总数进行汇总。每个用户一行。


也可以对一个以上的列应用 GROUP BY 语句,就像这样:

SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders

GROUP BY Customer,OrderDate

 

HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。


查找订单总金额少于 2000 的客户

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer

HAVING SUM(OrderPrice)<2000

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------

原创粉丝点击