SQL知识点总结_马农星人的博客-程序员宅基地_马农星人

技术标签: 数据库  sql  

数据库语法


1.从表中选取 LastName 列的数据:

Select LastName from persons

· SELECT - 从数据库表中获取数据

· UPDATE - 更新数据库表中的数据

· DELETE - 从数据库表中删除数据

· INSERT INTO - 向数据库表中插入数据

2..获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表)

Select lastName , FirsName from persons   (查询的两个字段之间用逗号隔开)

3.查询表persons中的所有数据

Select * from Persons

关键词 DISTINCT 用于返回唯一不同的值。

Select distinct  列名称 from  表名称

WHERE 子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

Select 列名称 from 表名称 where 列 运算符 值

 

如果只希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句:

Select *from persons where city = Beijing

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:

Select *from persons where lastaName = carter  and fIrstName = Thomas

使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:

Select *from Persons where lastaName = carter or firstName = Thomas

我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):

Select *from Persons where (lastaName = carter or firstName = Thomas) and lastaName = carter

ORDER BY 语句

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字;ASC升序

 

以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):

Select Company , orderNumber from Orders ORBER BY Company ,

OrderNumber

以逆字母顺序显示公司名称:

SELECT Company , orderNumber From Orders ORDER BY Company desc

TOP 子句

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

SQL Server 的语法:

SELECT TOP number|percent column_name(s)

FROM table_name

SQL TOP 实例

现在,我们希望从上面的 "Persons" 表中选取头两条记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 2 * FROM Persons

SQL TOP PERCENT 实例

现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 50 PERCENT * FROM Persons

 

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

SQL LIKE 操作符语法

SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern

 

LIKE 操作符实例

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE 'N%'

提示:"%" 可用于定义通配符(模式中缺少的字母)。

例子 2

接下来,我们希望从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '%g'

例子 3

接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '%lon%'

例子 4

通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City NOT LIKE '%lon%'

 

SQL 通配符

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

SQL 通配符必须与 LIKE 运算符一起使用。

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

通配符

描述

%

替代一个或多个字符

_

仅替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]

或者

[!charlist]

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

使用 % 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE 'Ne%'

例子 2

接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '%lond%'

使用 _ 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE FirstName LIKE '_eorge'

例子 2

接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er"

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE LastName LIKE 'C_r_er'

使用 [charlist] 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" "L" "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '[ALN]%'

例子 2

现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" "L" "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '[!ALN]%'

IN 操作符

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

SQL IN 语法

SELECT column_name(s)

FROM table_name

WHERE column_name IN (value1,value2,...)

IN 操作符实例

现在,我们希望从上表中选取姓氏为 Adams Carter 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE LastName IN ('Adams','Carter')

BETWEEN 操作符

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

SQL BETWEEN 语法

SELECT column_name(s)

FROM table_name

WHERE column_name

BETWEEN value1 AND value2

 

BETWEEN 操作符实例

如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL

SELECT * FROM Persons

WHERE LastNameBETWEEN 'Adams' AND 'Carter'

重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" "Carter" 之间的人,但不包括 "Adams" "Carter" ;某些数据库会列出介于 "Adams" "Carter" 之间并包括 "Adams" "Carter" 的人;而另一些数据库会列出介于 "Adams" "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter"

所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!

实例 2

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

SELECT * FROM Persons

WHERE LastNameNOT BETWEEN 'Adams' AND 'Carter'

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

SQL Alias

表的 SQL Alias 语法

SELECT column_name(s)

FROM table_name

AS alias_name

列的 SQL Alias 语法

SELECT column_name AS alias_name

FROM table_name

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34339630/article/details/77336101

智能推荐

android Matrix的invert实现_Sonic_sTorm的博客-程序员宅基地_matrix invert

invert的调用及实现​class SkMatrixGlue {public: static jboolean invert(jlong matrixHandle, jlong inverseHandle) { SkMatrix* matrix = reinterpre.

Html制作抖音网红时钟罗盘【含源码免费下载】_白大锅的博客-程序员宅基地_罗盘时钟代码html

需要源码 文末公众号回复【时钟】即可获得源码 废话不多说 直接看效果由于代码过长 所以下文代码展示为部分代码html代码<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>css3抖音网红文字时钟特效</title><link rel="stylesheet" href="css/commen.css"><link.

【解决问题】xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory #include <expat.h>_君琴的博客-程序员宅基地

本博客运行环境为centos7.6问题描述在安装Apache时遇到了如下报错xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory #include <expat.h>解决方案安装expat-devel即可,然后重新编译yum -y install expat-devel...

S5P6818 芯片手册 System Control 章节 理论篇_陌偌禹的博客-程序员宅基地_s5p6818芯片手册

文章目录[0x100] 概述[0x200] PLL (Phase Locked Loop) 锁相环[0x210] P/M/S值 图解[0x211] 基于P/M/S值生成 Fout[0x212] 设置P/M/S/K 数值[0x213] 设置 SSCG_EN, SEL_PF, MFR,MRR 数值[0x100] 概述频率时钟类型 : FCLK、HCLK、PCLK、BCLK、MCLK;可编程分...

【Linux】Skynet服务器搭建_VinChyy的博客-程序员宅基地

【参考原文】Centos7下载和安装教程CentOS7下载阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/vmware workstation下载vmware共享文件夹设置选项卡:虚拟机\设置\选项\共享文件夹\添加终端:查看设置的共享文件夹vmware-hgfsclient安装open-vm-toolsyum in...

使用Nginx搭建反向代理,及配置缓存_鲲鹏飞九万里的博客-程序员宅基地

使用Nginx搭建反向代理文章目录使用Nginx搭建反向代理一、什么叫反向代理二、搭建代理服务器的示例2.1 修改上游服务的Nginx配置,只让本机能够访问2.2 搭建另外一个Nginx, 使用OpenResty2.3 简单修改配置文件后运行nginx2.4 将openResty当作反向代理服务器,在它的配置文件中配置上游服务三、配置缓存服务器一、什么叫反向代理比如,用Nginx作为静态资源服务器,搭建一个WEB服务,那么这个静态资源的WEB就称为“上游服务”。现在要搭建另外一一个Nginx,来访问“

随便推点

Java 中的语法糖 (Syntactic Sugar)_大树叶的博客-程序员宅基地

语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便的使用语言开发程序,同时增强程序代码的可读性,避免出错的机会;但是这种语法对语言的功能并没有影响。Java中的泛型,变长参数,自动拆箱/装箱,条件编译等都是,下面做简单的介绍和分析。泛型

CSS中可以和不可以继承的属性_CodeMagiclin的博客-程序员宅基地

一、无继承性的属性1、display:规定元素应该生成的框的类型2、文本属性:vertical-align:垂直文本对齐text-decoration:规定添加到文本的装饰text-shadow:文本阴影效果white-space:空白符的处理unicode-bidi:设置文本的方向3、盒子模型的属性:width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、borde

spring 从入门到总结_槑孒的博客-程序员宅基地

菜鸟教程http://www.runoob.com/w3cnote/basic-knowledge-summary-of-spring.htmlhttp://qilixiang012.iteye.com/blog/2091295框架Spring 学习版本: 4.3.0框架认识框架学起来比较简单但也有难的地方,难是难在底层原理 用了框架之后,写代码就非常简单,

【WebRTC研究(1)】Windows编译WebRTC(声网教程补充篇)_对牛乱弹琴的博客-程序员宅基地_webrtc 声网

写在前面的话WebRTC下载编译的困难想必都很清楚了。我试图写一篇尽可能详细的编译手册,旨在帮助大家减少不必要的时间浪费。鉴于WebRTC更新太快,所以网上很多编译方法都失效了,所以如果你看到是几年前的文章,就没必要较真了。本文基于声网提供的国内镜像,写作时间为2019年10月16日,WebRTC为2019年5月16日版本。诸君参考。本文快速阅读方法10.0.17134 或以上的Win1...

Beyond Compare 4_扎克伯格马克的博客-程序员宅基地

修改注册表1 在搜索栏中输入 regedit ,打开注册表2 删除项目:计算机\HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4\CacheId

centos7 安装 问题解决_BY&Crystal的博客-程序员宅基地

1.模块“DevicePowerOn”启动失败。编辑 .vmx 文件 修改 vmci0.present = “TRUE” 为 FALSE 保存重新启动即可2. 安装图形化界面 取消最小化安装 选择图形化安装