前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库 SQL 高级用法(一)

数据库 SQL 高级用法(一)

作者头像
程序媛淼淼
发布2022-07-01 14:53:57
8460
发布2022-07-01 14:53:57
举报
文章被收录于专栏:程序员阿常程序员阿常

今天是日更的 42/365 天

大家好,我是阿常,今天我和大家分享——数据库SQL高级用法的第一个章节。

  • SQL SELECT LIMIT 用法
  • SQL LIKE 用法
  • SQL 通配符用法

一、SQL SELECT LIMIT 用法

SELECT LIMIT 子句用于规定要返回的记录的数目。

SELECT LIMIT 子句对于拥有数千条记录的大型表来说,比较适用。

请注意,并非所有的数据库系统都支持 SELECT LIMIT 语句:

SQL Server 支持 TOP 语句来选取指定的条目数据;

而Oracle 则使用 ROWNUM 语句来选取。

一)MySQL 用法

代码语言:javascript
复制
SELECT 列名1,列名2 
FROM 表名
LIMIT 数字;

实例

代码语言:javascript
复制
SELECT * 
FROM student
LIMIT 5;

二)SQL Server 用法

代码语言:javascript
复制
SELECT TOP 数字/百分比 列名1,列名2
FROM 表名;

实例

代码语言:javascript
复制
SELECT TOP 5 *
FROM student;

SELECT TOP 20 PERCENT *
FROM student;

三)Oracle 用法

代码语言:javascript
复制
SELECT 列名1,列名2
FROM 表名
WHERE ROWNUM <= 数字;

实例

代码语言:javascript
复制
SELECT *
FROM student
WHERE ROWNUM <= 5;

二、SQL LIKE 用法

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

通过使用 NOT 关键字,您可以选取不匹配模式的记录。

SQL LIKE 用法

代码语言:javascript
复制
SELECT 列名1,列名2 
FROM 表名
WHERE 列名 LIKE 指定模式;

SELECT 列名1,列名2 
FROM 表名
WHERE 列名 NOT LIKE 指定模式;

实例

代码语言:javascript
复制
SELECT * FROM student
WHERE name LIKE '%花';

SELECT * FROM student
WHERE name LIKE '小%';

SELECT * FROM student
WHERE name LIKE '%小%';

SELECT * FROM student
WHERE name NOT LIKE '%小%';

请注意,“ % ” 符号用于在模式的前后定义通配符。

使用 '%花' 选取的是以 “ 花 ” 结尾的学生记录; 使用 '小%' 选取的是以 “ 小 ” 开头的学生记录;

使用 '%小%' 选取的是包含 “ 小 ” 的所有学生记录,加 NOT 关键字匹配的是不包含“ 小 ” 的所有学生记录。

三、SQL 通配符用法

在 SQL 中,通配符与 SQL LIKE 操作符一起使用。

SQL 通配符用于搜索表中的数据。

在 SQL 中,可使用以下通配符:

通配符

描述

%

替代 0 个或多个字符

_

替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]或[!charlist]

不在字符列中的任何单一字符

一)SQL % 用法

在上面的 SQL LIKE 用法中已提及,这里不再赘述。

二)SQL _ 用法

下面的 SQL 语句使用 '_花' 选取 name 以任意一个字符开始,然后是 " 花 " 结尾的学生记录;

使用 'F_r_ox' 选取 name 以 " F "开始,然后是一个任意字符,然后是 " r " ,然后是任意一个字符,然后是 " ox" 的网站记录。

代码语言:javascript
复制
SELECT *
FROM student
WHERE name LIKE '_花';

SELECT *
FROM Websites
WHERE name LIKE 'F_r_ox';

三)SQL [charlist] 用法

MySQL 中使用 REGEXPNOT REGEXP(或 RLIKE 和 NOT RLIKE)来操作正则表达式。

1、下面的 SQL 语句选取 name 以 " A " 、" B " 或" C " 开始的所有网站。

代码语言:javascript
复制
SELECT *
FROM Websites
WHERE name REGEXP '^[ABC]';

2、下面的 SQL 语句选取 name 以 A 到 J 字母开头的所有网站。

代码语言:javascript
复制
SELECT *
FROM Websites
WHERE name REGEXP '^[A-J]';

3、下面的 SQL 语句选取 name 不以 A 到 J 字母开头的所有网站。

代码语言:javascript
复制
SELECT *
FROM Websites
WHERE name REGEXP '^[^A-J]';

至此,数据库SQL高级用法的第一章节就讲完啦,接下来让我们继续期待第二章节的内容吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员阿常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档