认识SQL 高级进阶

2023年 4月 15日 100.9k 0

sql教程栏目介绍10种高级进阶 推荐(免费):sql教程 sql高级 1、TOP子句 TOP 子句用于规定要返回的记录的数目。 SELECT TOP 2 * FROM Persons SELECT TOP 50 PERCENT * FROM Persons 2、link查找的模式 现在

sql教程栏目介绍10种高级进阶

推荐(免费):sql教程

sql高级 1、TOP子句 TOP 子句用于规定要返回的记录的数目。

SELECT TOP 2 * FROM Persons
SELECT TOP 50 PERCENT * FROM Persons

2、link查找的模式 现在,我们希望从上面的 “Persons” 表中选取居住在以 “N” 开始的城市里的人: 我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE ‘N%’

提示:”%” 可用于定义通配符(模式中缺少的字母) 通过使用 NOT 关键字,我们可以从 “Persons” 表中选取居住在不包含 “lon” 的城市里的人: 我们可以使用下面的 SELECT 语句:

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

3、通配符 这里写图片描述 (1)通过使用 NOT 关键字,我们可以从 “Persons” 表中选取居住在不包含 “lon” 的城市里的人: 我们可以使用下面的 SELECT 语句:

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

(2)我们希望从上面的 “Persons” 表中选取名字的第一个字符之后是 “eorge” 的人: 我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE FirstName LIKE ‘_eorge’

(3)我们希望从上面的 “Persons” 表中选取居住的城市以 “A” 或 “L” 或 “N” 开头的人: 我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE ‘[ALN]%’
不 SELECT * FROM Persons
WHERE City LIKE ‘[!ALN]%’

4、IN 操作符 IN 操作符允许我们在 WHERE 子句中规定多个值。IN 操作符实例 现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人: 我们可以使用下面的 SELECT 语句:

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

5、BETWEEN 操作符 操作符 BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期 如需以字母顺序显示介于 “Adams”(包括)和 “Carter”(不包括)之间的人,请使用下面的 SQL:

SELECT * FROM Persons
WHERE LastName
BETWEEN ‘Adams’ AND ‘Carter’

补集为No BETWEEN

6、通过使用 SQL,可以为列名称和表名称指定别名(Alias) 假设我们有两个表分别是:”Persons” 和 “Product_Orders”。我们分别为它们指定别名 “p” 和 “po”。 现在,我们希望列出 “John Adams” 的所有定单。 我们可以使用下面的 SELECT 语句:

SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons
AS
p, Product_Orders
AS
po
WHERE p.LastName=’Adams’ AND p.FirstName=’John’

也可以为列使用别名

SELECT LastName AS Family, FirstName AS Name
FROM Persons

7、join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。 数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。 这里写图片描述这里写图片描述 引用两个表 我们可以通过引用两个表的方式,从两个表中获取数据: 谁订购了产品,并且他们订购了什么产品?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P

下面的语句和上面的语句具有同样的效果 SQL JOIN - 使用 Join 除了上面的方法,我们也可以使用关键词 JOIN 来从两个表中获取数据。 如果我们希望列出所有人的定购,可以使用下面的 SELECT 语句:

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

INNER JOIN 存在至少一个匹配时返回行

注意:

JOIN: 如果表中有至少一个匹配,则返回行

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

8、SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 列出所有在中国和美国的不同的雇员名:

SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA

union和union all的区别就是union all会把所有的结果都输出来,union会把相同的给去掉

9、CREATE DATABASE database_name 用于创建数据库

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

这里写图片描述

10、sql约束 (1) 下面的 SQL 语句强制 “Id_P” 列和 “LastName” 列不接受 NULL 值:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

(2)SQL UNIQUE 约束

UNIQUE 约束唯一标识数据库表中的每条记录。

UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证

PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 (3)SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值。

主键列不能包含 NULL 值。 每个表都应该有一个主键,并且每个表只能有一个主键。

想了解更多编程学习,敬请关注php培训栏目!

以上就是认识SQL 高级进阶的详细内容,更多请关注每日运维其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论