初学者SQL语句介绍
初学者SQL语句介绍
1.用 Select 子句检索记录
Select 子句是每一个检索数据的查询核心。它告诉数据库引擎返回什么字段。
Select 子句的常见形式是:
Select *
该子句的意思是“返回在所指定的记录源中能找到的所有字段”。这种命令形式很方便,因为你无需知道从表中检索的字段名称。然而,检索表中的所有列是低效的。因此,因该只检索需要的字段,这样可以大大的提高查询的效率。
2.使用 From 子句指定记录源
From 子句说明的是查询检索记录的记录源;该记录源可以是一个表或另一个存储查询。
你还能从多个表中检索记录,这在后面的章节中将介绍。
例子:
Select * From students 检索students表中的所有记录
3.用 Where 子句说明条件
Where 子句告诉数据库引擎根据所提供的一个或多个条件限定其检索的记录。条件是一个表达式,可具有真假两种判断。
例子:
Select * From students Where name="影子"
返回students中name字段为影子的列表,这次所返回的结果没有特定顺序,除非你使用了 Order By 子句。该子句将在后面的章节介绍。
注意:Where 子句中的文本字符串界限符是双引号,在VB中因改为单引号,因为在VB中字符串的界定符是双引号。
补充:
使用 And 和 Or 逻辑可以将两个或更多的条件链接到一起以创建更高级的 Where 子句。
例子:
Select * From students Where name="影子" And number>100
返回name为影子number大于100的列表。
例子:
Select * From students Where name="影子" And (number>100 Or number<50)
返回name为影子,number大于100或者小于50的列表。
Where 子句中用到的操作符
操作符 功能
< 小于
<= 小于或等于
> 大于
>= 大于或等于
= 等于
<> 不等于
Between 在某个取值范围内
Like 匹配某个模式
In 包含在某个值列表中
SQL中的等于和不等于等操作符与VB中的意义和使用相同
例子:
(1).Between 操作符
Use cust
Select * From students
Where number Between 1 and 100
Between 操作符返回的是位于所说明的界限之内的所有记录值。这个例子就返回 number 字段 1 到 100 之间的全部记录。
(2). Like 操作符和通配符
Use cust
Select * From students
Where name Like "%影%"
Like 操作符把记录匹配到你说明的某个模式。这个例子是返回含“影”的任意字符串。
四种通配符的含义
通配符 描述
% 代表零个或者多个任意字符
_(下划线) 代表一个任意字符
[] 指定范围内的任意单个字符
[^] 不在指定范围内的任意单个字符
全部示例子如下:
Like "BR%" 返回以"BR"开始的任意字符串
Like "br%" 返回以"Br"开始的任意字符串
Like "%een" 返回以"een"结束的任意字符串
Like "%en%" 返回包含"en"的任意字符串
Like "_en" 返回以"en"结束的三个字符串
Like "[CK]%" 返回以"C"或者"K"开始的任意字符串
Like "[S-V]ing" 返回长为四个字符的字符串,结尾是"ing",开始是从S到V。
Like "M[^c]%" 返回以"M"开始且第二个字符不是"c"的任意字符串。
4. 使用 Order By 对结果排序
Order By 子句告诉数据库引擎对其检索的记录进行排序。可以对任何字段排序,或者对多个字段排序,并且可以以升序或隆序进行排序。
在一个正式的 Select 查询之后包含一个 Order By 子句,后跟想排序的字段(可以有多个)便可以说明一个排序顺序。
例子:
Use cust
Select * From students
Where name Like "%影%"
Order By number
对返回的结果按 number 进行排序。
以降序排序
如要以隆序排序,只需在排序的字段之后使用 Desc 关键字。
例子:
Use cust
Select * From students
Where name Like "%影%"
Order By number Desc
5. 使用 Top 显示某个范围的第一个记录或最后一个记录。
使用 Top 关键字可以只显示一个大记录前面或后面的少数几个记录。在查询中,Top 关键字与排序子句一起把结果集限制为少数几个记录或按某个百分比显示整个结果记录集合中的一部分。
例子:
Select Top 3 * From students 返回 students 表中的前3条记录
Select Top 10 Percent * From students 返回 students 表中前面的10%个记录
Select Top 3 * From students Order By number desc 返回 students 表中 number 最大的(最后)的3条记录
6. 用 As 对字段名进行别名化
为什么在查询中对字段命以别名,或重新命名,这样做的原因有两个:
☆所涉及的表的字段名很长,想使字段在结果集中更易处理一些。
☆创建的查询产生了某些计算或合计列,需要对之进行命名。
不管是什么原因对字段命以别名,在 SQL 中都可以容易地使用 As 子句做得。
例子:
Select number As 学号 ,name As 姓名 From students
7. 合并查询
合并查询( Union Query )用于合并具有相同字段结构的两个表的内容,如果想在一个结果集中显示多个记录源中的不相关的记录时,这十分有用。
例子:
Select *
From students
Union
Select *
From students1
该查询结果集把 students 和 students1 中的记录合并到一个结果中,其输出就和原表归档之前一模一样。
注意:缺省情况下,合并查询不会返回重复记录(如果记录归档系统在把记录拷到归档表中后不将相应的记录删除,这时该功能就有用了),可以加上 All 关键字而让合并查询显示重复记录。
例子:
Select *
From students
Union All
Select *
From students1
该合并查询显示 students 表和 students1 表的内容时,没有对重复记录进行处理
补充:
Union 运算符允许把两个或者多个查询结果合并到一个查询结果集中。如果比较 Union 和 Join 两咱运算符,那么 Union 运算符增加行的数量,而 Join 运算符增加列的数量。使用 Union 时应该注意,两个结果中的列的结构必须匹配,数据类型必须兼容等等。
Union 运算符的语法形式如下:
Select select_list
From clause
Where clause
Group By clause
Having clause
Union [All]
Select select_list
From clause
Where clause
Group By clause
Having clause
Order By clause
Compute clause
对于 Union 运算符,有下列几点需要说明:
·在默认情况下,Union 运算符删除全部冗余行。如果使用All 选项,那么冗余行不删除。
·在 Union 语句中的全部 select_list 必须有相同数量的列、兼容的数据类型并且按照同样的顺序出现。
·在结果集中,列名来自第一个 Select 语句。
8.连接查询
在实际使用过程中经常需要同时从两个表或者两个以上表中检索数据。连接就是允许同时从两个表或者两个以上表中检索数据,指定这些表中某个或者某些列作为连接条件。在 SQL Server 中,可以使用两种连接语法形式,一种是 Ansi 连接语法形式,这是连接用在 From 子句中,另外一种是 SQL Server 连接语句形式,这是连接用在 Where 子句中。
Ansi 连接语法形式如下:
Select table_name.column_name,table_name.column_name,...
From {table_name [join_type] Join table_name On search_conditions}
Where [search_conditions]
在 Ansi 语法形式中,可以 Ansi 连接关键字来确定使用的连接形式。例如:
☆使用 Inner Join 关键字,结果集中仅包含满足条件的行。
☆使用 Cross Join 关键字,结果集中包含两个表中所有行的组合。
☆使用 Outer Join 关键字,结果集中既包含那些满足条件的行,还包含那些其中某个表的全部行。
SQL Server 连接语法形式如下所示:
Select table_name.column_name,table_name.column_name,...
From [table_name,tab
相关文章:
转型AI成功几率有几分?太真实了......
技术转型,这两年一直是程序员圈子里的热门话题。对于大部分基层程序员来说,基础岗位上薪资的涨幅很难跟上年龄的增长。而近些年,AI技术发展势头迅猛,优秀人才短缺。在这种情况下,无疑是谁先转型成功,谁就占…

如何使用聚簇索引
2019独角兽企业重金招聘Python工程师标准>>> 聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎 总是比使用非聚簇索引快。每张表只能建一个聚簇索引&#…

C语言实现汉诺塔问题
代码如下: #include <stdio.h> #include <stdlib.h> void move(int n,char x,char y,char z) {if (n1) {printf("%c--->%c\n",x,z);}else {move(n-1,x,z,y);printf("%c--->%c\n",x,z);move(n-1,y,x,z);} } int main() {int n…

将Session值储存于SQL Server中
一般情况下,我们喜欢使用Session储存我们的变量。Asp.Net提供了下面一些方法储存Session的值: InProc State Server SQL Server “InProc”表示我们使用传统ASP一样的方法储存Session的值,而且“State Server”则表示使用另外一台主机来…

系统定时关机的方法
曾经在网上搜索过关于windows XP定时关机的方法,很多人都说下载一个定时关机的软件。其实根本不需要这么麻烦,windowsXP本身就自带有定时关机这个功能,而且有两种方法。方法一:使用at命令(1)"开始"->"运行"…

让线上学习不打折扣,作业帮如何用技术促进课堂高频互动场?
“在大班直播课上,可能有数千甚至上万学员同时上课,但是他们彼此看不见也听不见,是千千万万个‘孤独的个体’,而‘小组直播间’却可以让他们随时随刻感觉到自己置身于一个温暖的集体之中。” “小组直播间”是曹越一直主张在大班…

在python中调用js或者nodejs要使用PyExecJs第三方包。
在python中调用js或者nodejs要使用PyExecJs第三方包。 使用时:import execjs这是没有用到nodejs的情况;如果用到nodejs,这种写法会报“Cannot find module xxx”的错误。 如果要用nodejs,要在环境变量中指定node_modules的路径。转…

超越Google,快手落地业界首个万亿参数推荐精排模型
整理 | 兆雨 责编 | 阿司匹林 出品 | AI科技大本营 精准的推荐系统模型是很多互联网产品的核心竞争力,个性化推荐系统旨在根据用户的行为数据提供“定制化”的产品体验。国民级短视频App快手,每天为数亿用户推荐百亿的视频,遇到的挑战之一是推…

Cache总义Cache用法之页面声明
Cache总义Cache用法之页面声明 <% outputCacheDuration"#ofseconds"Location"Any|Client|Downstream|Server|None"VaryByControl"ControlName"VaryByCustom"browser|customstring"VaryByHeader"headers"VaryByParam&quo…

InfBox V7.0 企业绩效助手客户端使用简介
1,点击此处下载InfBox V7.0 客户端软件。2,把下载下来的InfBox.rar压缩包,加压缩到E盘,解压后的目录如下:3,双击运行infbox.exe文件,点击登录窗口的左下角配置图标,设置服务器IP地址…

iOS:转载:UIControl的使用
主要功能: UIContol(控件是所有控件的基类 如:(UIButton)按钮主要用于与用户交互,通常情况下我们不会直接使用UIControl,而是子类化它。常用属性: BOOL enabled 空间默认是启用的&am…

fprintf、printf、sprintf、fscanf、scanf、sscanf 格式化输入输出
格式化输入输出 1. fprintf(格式化输出数据至文件) 相关函数 printf,fscanf,vfprintf 表头文件 #include<stdio.h> 定义函数 int fprintf(FILE * stream, const char * format,.......); 函数说明 fprint…

毕业后五年之内将决定你的一生
大家千万不要错过这篇文章,毕业2年多了,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享,也希望对有缘人有所帮助&…

达沃斯议程对话会:张亚勤解读人工智能发展 3R 原则
在国内外新冠疫情持续的特殊形势下,2021年世界经济论坛“达沃斯议程”对话会于1月25日至29日以线上形式举行。此次论坛上,全球70多个国家和地区的1500多位政商界和社会组织领导人围绕“把握关键之年,重建各方信任”这一主题,就如何…

The note of Developing Innovative Ideas for New Companies Course
This course is free on the Coursera Site,But it only has English version Threee pieces of the course overview: 1、opportunity analysis Canvas 2、business model Canvas:执行与验证 3、business plan 1.3: By first und…

C语言的一个关键字——static
C语言的一个关键字——static Static在C语言里面有两个作用,第一个是修饰变量,第二个是修饰函数。 1、Static修饰变量 按照作用范围的不同,变量分为局部变量和全局变量。如果用static修饰变量,不论这个变量是全局的还是局部的都是…

Android常用URI收藏
http://www.android-study.com/jichuzhishi/338.html转载于:https://www.cnblogs.com/hyzhou/p/3286550.html

Teradata推出Vantage on Azure,可实现自助配置、快速部署,提供安全、可扩展的高性能分析
云数据分析平台公司Teradata今日宣布推出全新Teradata Vantage on Azure 服务,帮助客户在部署其Teradata Vantage 环境时,将Vantage的强大功能与Microsoft Azure 基础架构的敏捷性和灵活性更好地结合,以更轻松地成为具有一流分析能力的数据驱…

布巴内斯瓦尔成智慧城市 印小城何以“智慧”
在2月14日举行的布巴内斯瓦尔市“智慧生活日”活动中,学生们集体练习瑜伽。 核心阅读 印度打造百座“智慧城市”计划日前取得阶段性成果,综合评分领先的20座城市成为今后5年印度城市发展首批资助对象。 位于印度东部奥里萨邦的布巴内斯瓦尔市在本次评选中…

摘自一个读者读后rework的感受
2019独角兽企业重金招聘Python工程师标准>>> 读了《Rework》这本书好多遍,每次读都有不同的感想。但从来没有把这些感想记录下来,今天把《Rework》书中的一些章节做一些摘录,并把我的一些感想总结出来。供大家参考。这是一本平生以…

web.config文件详解
(一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点: 位于配置文件的顶部,包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。 可以定义应用程序的全局常量…
Go 语言这一年
作者 | 白明 责编 | 张文来源 | 本文转载自 TonyBai题图 | 自视觉中国2020,这一六十年一遇的庚子年的确“名不虚传”。在这一年发生了很多事,而最受瞩目的事情莫过于新冠疫情的全球大流行。疫情给全球的经济带来了近似毁灭性的打击,给人们的…

JMeter入门(1):JMeter总体介绍及组件介绍
一、JMeter概述JMeter就是一个测试工具,相比于LoadRunner等测试工具,此工具免费,且比较好用,但是前提当然是安装Java环境;JMeter可以做(1)压力测试及性能测试;(2)数据库测试;(3)Java程序的测试&…

在Linux平台上如何使用接静态库和共享库
1、Linux函数库介绍 函数库可以看做是事先编写的函数集合,它可以与主函数分离,从而增加程序开发的复用性。Linux中函数库可以有3种使用的形式:静态、共享和动态。 1) 静态库的代码在编译时就已连接到开发人员开发的应用程序中&#x…
GSA+麦肯锡开年首场线上活动:汽车半导体要变天?
作者 | 白露 . L来源 | GSA全球半导体联盟首场GSA主办的行业活动将于2月初拉开序幕。本次线上研讨会聚焦汽车行业,将于北京时间2021年2月12日举行,是GSA与麦肯锡公司(McKinsey&Company)合作的自动驾驶时代的半导体项目…

poj 1185(状压dp)
题目链接:http://poj.org/problem?id1185 思路:状态压缩经典题目,dp[i][j][k]表示第i行状态为j,(i-1)行状态为k时最多可以放置的士兵个数,于是我们可以得到递推方程:dp[i][j][k]max(dp[i][j][k],dp[i-1][k][l]num[j])…

存储能否导致ESXi网络性能问题?
管理员应该如何判断存储是否能够引起ESXi服务器当中的网络性能问题呢? 虚拟机非常依赖存储资源,因此如果存储产生的延迟过大,那么会在一定程度上导致虚拟机糟糕的性能表现。幸运的是,虚拟化管理可以使用多种可用工具和策略来诊断潜在的存储问…

ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件!
在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本。具有相同的键和类型的脚本被视为重复脚本。因此,我们可以使用脚本类型来避免混淆可能用在页中的来自不同用户控件的相似脚本。 <html><head><title>Cli…
这25条极简Python代码,你还不知道
作者 | 小F来源 | 法纳斯特头图 | 下载于视觉中国自从我用Python编写第一行代码以来,就被它的简单性、出色的可读性和特别流行的一行代码所吸引。下面,我将给大家介绍一些Python一行程序。可能有些你还不知道,但对你未来的Python项目很有用。…

Fluke OTDR新增SmartLoop双向测试功能
通信仪表公司Fluke网络日前为其OptiFiber Pro OTDR产品增加SmartLoop双向测试功能,从而可以支持在一端同时测试双向两根光纤的故障。 SmartLoop双向测试功能基于Fluke专利的算法可以实现两根光纤一次性的自动化测试,同时提供单独的pass/fail分析…