博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL高级教程
阅读量:338 次
发布时间:2019-03-04

本文共 1738 字,大约阅读时间需要 5 分钟。

1.SQL TOP 子句

在这里插入图片描述

在这里插入图片描述

从上面的 "Persons" 表中选取头两条记录。SELECT TOP 2 * FROM PersonsSELECT TOP 50 PERCENT * FROM Persons

在这里插入图片描述

2.SQL LIKE 操作符

在这里插入图片描述

在这里插入图片描述

SELECT * FROM Persons WHERE City LIKE 'N%'

在这里插入图片描述

SELECT * FROM Persons WHERE City LIKE '%g'

在这里插入图片描述

3.SQL 通配符

在这里插入图片描述

在这里插入图片描述

使用 % 通配符从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人SELECT * FROM Persons WHERE City LIKE 'Ne%'

在这里插入图片描述

使用 _ 通配符从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人SELECT * FROM Persons WHERE FirstName LIKE '_eorge'

在这里插入图片描述

使用 [charlist] 通配符希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人SELECT * FROM Persons WHERE City LIKE '[ALN]%'

在这里插入图片描述

从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

在这里插入图片描述

4.SQL IN 操作符

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

5.SQL BETWEEN 操作符

在这里插入图片描述

在这里插入图片描述

以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

在这里插入图片描述

使用上面的例子显示范围之外的人,请使用 NOT 操作符SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'

在这里插入图片描述

6.SQL Alias(别名)

在这里插入图片描述

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.SQL JOIN

在这里插入图片描述

引用两个表
我们可以通过引用两个表的方式,从两个表中获取数据:
谁订购了产品,并且他们订购了什么产品?

SELECT  Persons.LastName,Persons.FirstName,Orders.OrderNoFROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P

SQL JOIN - 使用 Join

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

SELECT Persons.LastName,Persons.FirstName,Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.Id_P = Orders.Id_PORDER BY Persons.LastName

不同的 SQL JOIN

除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。
下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

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

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

8.

9.

10.

11.

12.

13.

转载地址:http://ufph.baihongyu.com/

你可能感兴趣的文章