sql 语句学习(三)

本文介绍了SQL中的高级关键字,包括TOP、LIKE、IN、BETWEEN、JOIN、ALIAS等,以及各种JOIN类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN。此外,还讲解了UNION操作符、SELECT INTO、CREATE DATABASE和CREATE TABLE语句,以及约束如NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK和DEFAULT。文章详细阐述了索引的创建与删除,以及日期和时间类型的处理,NULL值的概念和处理方式。最后提到了视图的创建、更新和日期函数的应用。
摘要由CSDN通过智能技术生成

进阶关键字

sql语句有很多关键字除开最基础的增删改查,还有 top ,like,in, between, aliases, join,inner join, left join,
right,join, full join, Union,Select into, Create DB,create Table, Constraints, Not NUll,Unique, Unique, Primary Key, Foreign Key, Check, Default, Default, Create Index, Drop, Alter, Increment, View, Date, Nulls, isnull() 通配符等。

Top
TOP 子句用于规定要返回的记录的数目。
对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
注释:并非所有的数据库系统都支持 TOP 子句。

SELECT TOP number|percent column_name(s)
FROM table_name

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

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。
可使用通配符 %(代表另个或多个字符),_(仅代表一个字符),[charlist] (字符列汇总的任何单一字符),[^charlist] 或者[!charlist] (不在字符列中的任何单一字符)
从上面的 “Persons” 表中选取居住的城市以 “A” 或 “L” 或 “N” 开头的人

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

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

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

BETWEEN 操作符

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

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:

SELECT column_name(s)
FROM table_name
WHERE column_name
NOT BETWEEN value1 AND value

Alias(别名)
通过使用 SQL,可以为列名称和表名称指定别名(Alias)。
表的别名:

SELECT column_name(s)
FROM table_name
AS alias_name

列的 SQL Alias 语法:

SELECT column_name AS alias_name
FROM table_name

SQL JOIN

SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
Join 和 Key
有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。

数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。
例子:

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

JOIN - 使用 Join

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

不同的 JOIN
除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。

下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

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

INNER JOIN 关键字

在表中存在至少一个匹配时,IN

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值