基础SQL语句

  • SQL是结构化查询语言
  • SQL对大小写不敏感
  • SQL后面的分号看数据库要求才加不加
  • SQL分为两部分 DML(数据操作语言)和DDL(数据定义语言)

1、SELECT
从名为 “Persons” 的数据库表获取名为 “LastName” 和 “FirstName” 的列
SELECT LastName,FirstName FROM Persons
SELECT * FROM Persons (全部列)

2、DISTINCT
关键词 DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称

3、WHERE
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
(运算符中的特殊 <> 为不等于 、BETWEEN为在某个范围内、LIKE搜索某种模式)

4、AND && OR
SELECT * FROM Persons WHERE FirstName=‘Thomas’ AND LastName=‘Carter’。 (AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

5、ORDER BY
SELECT Company, OrderNumber FROM Orders ORDER BY Company
对Company, OrderNumber并根据Company排序
ORDER BY 语句用于对结果集进行排序
逆序 DESC
顺序 ASC

6、INSERT INTO
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’)

7、UPDATE
UPDATE Person SET FirstName = ‘Fred’ WHERE LastName = ‘Wilson’
更新某一行中的一个列

8、DELETE
DELETE FROM 表名称 WHERE 列名称 = 值
DELETE FROM table_name(可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的)

9、LIKE
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SELECT * FROM Persons
WHERE City LIKE ’N%’
从 “Persons” 表中选取居住在以 “N” 开始的城市里的人

SELECT * FROM Persons
WHERE City NOT LIKE ‘%lon%’

10、IN
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,…)

11、BETWEEN
between是范围,而in是在值之内
SELECT * FROM Persons
WHERE LastName
BETWEEN ‘Adams’ AND ‘Carter’

12、AS(别名)
SELECT column_name(s)
FROM table_name
AS alias_name
SELECT column_name AS alias_name
FROM table_name

13、JOIN
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
ORDER BY Persons.LastName

JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行

SQL INNER JOIN 关键字
在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

全部
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName

现在,我们希望列出所有的人,以及他们的定购 - 如果有的话。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName

我们希望列出所有的定单,以及定购它们的人 - 如果有的话。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName

我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName

14、UNION
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

15、SELECT INTO
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
所有的列插入新表:
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename

16、CREATE DATABASE my_db

17、CREATE TABLE
CREATE TABLE Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

18、PRIMARY KEY
约束唯一标识数据库表中的每条记录。

19、FOREIGN KEY
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)

20、SELECT COUNT(*) AS NumberOfOrders FROM Orders

21、SELECT SUM(column_name) FROM table_name

注两道题目:
1000条数据,每个数据有个字段价格,求价格总和 sql
SELECT SUM(PRICE) AS SUMPRICE FROM TABLE

1000条数据,每个数据有个字段价格和种类,求每个种类的总价格和
SELECT SUM(PRICE) AS SUMPRICE FROM TABLE GROUP BY CATEGORY

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值