软件系统开发定制【SQL Server】入门教程-基础篇(二)

目录


🚩前言

软件系统开发定制上一篇我们学习了SQL Server软件系统开发定制的基础语言,软件系统开发定制这一篇文章我会和大家一起学习SQL Server软件系统开发定制的高级语言。

🔴SQL Server 软件系统开发定制高级言语学习

🚴LIKE – 模糊查询

LIKE 软件系统开发定制语法是用来进行对表的模糊查询。

语法:

SELECT 列名/(*) FROM 表名称 WHERE 列名称 LIKE 值;

实例:

软件系统开发定制我们用上一节所用的"Student"软件系统开发定制学生表来进行演示。

1、软件系统开发定制现在我们要查询"Student"学生表中的姓名"王"开头的同学。

select * from student where StuName like '王%'

可以看出我们有两个一样的数据。 

2、我们也可以查询"Student"学生表中的姓名带五的同学信息。

select * from student where StuName like '%五'

可以看出能查询出来4为同学的姓名中带五。

3、接下来我们查询一下,出生日期中带3的同学信息。

select * from student where StuBir like '%3%'

可以看出查询出来的同学,出生日期都是带数字3的。 

4、通过使用 NOT 关键字,我们可以从"Student"学生表中选取出生日期不带数字3的同学信息

select * from student where StuBir not like '%3%'

可以看到都是出生日期不带数字3的同学。

温馨提示“%” 是用于匹配多个字符的,"_"是用于匹配单个字符的。

🚄IN – 查找多个值

IN 关键字允许我们在 WHERE 子句中规定多个值。

语法:

SELECT 列名/(*) FROM 表名称 WHERE 列名称 IN (值1,值2,值3);

实例:

现在我们查询"Student"学生表中数学成绩为"80"和"60"的同学信息。

SELECT * FROM student WHERE Math IN ('80','60');

可以看出上表的数学成绩只有 "80"和"60"的同学信息。

🚋BETWEEN – 查询区间数据

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

语法:

SELECT 列名/(*) FROM 表名称 WHERE 列名称 BETWEEN1 AND2;

实例:

1、查询"Student"学生表中数学成绩在"75"和"80"之间的同学信息

SELECT * FROM student WHERE math BETWEEN '75' AND '80';

2、查询上述结果相反的结果,可以使用 NOT:

SELECT * FROM student WHERE math NOT BETWEEN '75' AND '80';

温馨提示BETWEEN … AND两边都是包含的相当于<=和>=。

🚓AS – 别名

通过使用 SQL Server,可以为列名称和表名称指定别名(Alias),别名使查询程序更易阅读和书写。

语法:

表别名:

SELECT 列名称/(*) FROM 表名称 AS 别名;

列别名:

SELECT 列名称 as 别名 FROM 表名称;

实例:

使用表名称别名:

  1. SELECT s.StuName, s.StuSex
  2. FROM Student s
  3. WHERE s.StuName='张三' AND s.StuSex='男';

 使用列名别名:

SELECT StuName as sName, StuSex as sSex FROM student;

可以看到查询出来的列名变为我们自己定义的名字了。

温馨提示:在实际用中,AS关键字可以省略的哟。

🚗JOIN – 多表关联 

JOIN 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join

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

语法:

  1. select 列名
  2. from 表A
  3. INNER|LEFT|RIGHT|FULL JOIN 表B
  4. ON 表A主键列 = 表B外键列;

 不同的 SQL JOIN:

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

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

实例:

我们来查询"Student"学生表中的学生姓名和班级,再查询第二张"StuInfo"学生信息表中的学生电话,在根据班级进行升序排序。

  1. SELECT s.StuName,s.Classes,si.StuPhone
  2. FROM student s
  3. INNER JOIN StuInfo si
  4. ON s.StuNo = si.StuNo
  5. order by Classes asc

这就是联表查询出来的结果。

🚚UNION – 合并结果集

UNION 操作符用于合并两个或多个 SELECT 语句的结果集还可以合并INSERT插入语句。

UNION 语法:

  1. SELECT 列名 FROM 表A
  2. UNION
  3. SELECT 列名 FROM 表B;

温馨提示:UNION 操作符默认为选取不同的值。如果查询结果需要显示重复的值,请使用 UNION ALL

UNION ALL 语法:

  1. SELECT 列名 FROM 表A
  2. UNION ALL
  3. SELECT 列名 FROM 表B;

实例:

使用 UNION 命令:

列出"Student"和"StuInfo"表中的所有信息

  1. select * from student
  2. UNION
  3. select * from StuInfo;

温馨提示:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同

🏎️NOT NULL – 非空

NOT NULL 约束强制列不接受 NULL 值。

NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

语法:

  1. CREATE TABLE
  2. (
  3. int NOT NULL
  4. );

温馨提示:如果插入 NULL 值,则会报错 ORA-01400 提示无法插入!NOT NULL 也可以用于查询条件同理NULL也可以。

🏍️VIEW – 视图

视图是一个虚拟表,其内容由查询定义。但视图并不存储数据,视图数据来自由定义视图的查询所引用的表。

使用视图有下列优点:

  • 简单性:如可屏蔽表连接等复杂操作。
  • 安全性:简化用户权限的管理,将用户限制在数据的不同子集上。
  • 逻辑数据独立性:基本表的改变只需改变视图,而无需修改应用程序。

语法:

创建视图

  1. CREATE VIEW 视图名 AS
  2. SELECT 列名
  3. FROM 表名
  4. WHERE 查询条件;

调用视图:

select * from 视图名称;

删除视图:

drop view 视图名称;

实例:

根据"Student"和"StuInfo"表中的学生姓名,学生性别,学生电话,学生地址创建视图

  1. create view vStu as
  2. select s.StuName,s.StuSex,si.StuPhone,si.StuAdress from student s,StuInfo si
  3. where s.StuNo = si.StuNo

调用视图:

select * from vstu

查询这么多条数据,直接查询视图就可以查出来。 


🟢最后

❤️ 本章要讲的就是Sql Server的高级语言,讲到这里就结束了,是不是还没学够,敬请下回分解。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发