SQL 语言学习笔记
MySql-Mysql技术内幕~SQL编程学习笔记(1)

MySql-Mysql技术内幕~SQL编程学习笔记(1)1、MySQL的历史,⼀些相关概念。
2、MySQL数据类型*通常⼀个页内可以存放尽可能多的⾏,那么数据库的性能就越好,选择⼀个正确的数据类型⾄关重要。
1》UNSIGNED类型:将数字类型⽆符号化。
2》ZEROFILL:可以格式化整形显⽰,⼀旦启⽤该属性,MySQL数据库为列⾃动添加UNSIGNED属性。
0填充。
3》⽇期和时间类型⽇期数据类型占⽤空间的情况类型起始范围结束范围DATETIME1000-01-01 00:00:009999-12-31 23:59:59DATE1000-01-019999-12-31TIMESTAMP1970-01-01 00:00:002038-01-19 03:14:07YEARTIMETIMESTAMP与DATETIME显⽰的格式⼀样,但有些不同的地⽅:1>表⽰的时间范围不同2>TIMESTAMP类型的列可以设置⼀个默认值,⽽DATETIME类型不可以。
3>TIMESTAMP类型在更新表时可以设置⾃动更新为当前时间。
3》和⽇期时间相关的函数1>获取当前系统时间:now()、current_timestamp()、sysdate()1>>now():返回执⾏sql时的时间2>>current_timestamp():返回执⾏sql时的时间3>>sysdate():返回执⾏到当前sql时的时间2>时间加减函数:1>>date_add(date,interval expr unit):date_add(now(),interval 1 day)。
expr可正可负。
unit的值有year、month、day、hour、minute、second、microsecond、week。
2>>date_sub(date,interval expr unit):date_sub(now(),interval 1 day)。
SQL必知必会

SQL必知必会SQL必知必会第⼀课:了解SQL1、不同的DBMS中,相同的数据类型拥有不同的名称。
1)表中的数据是按⾏存储的。
row(⾏)表中的⼀个记录。
表中的⾏有多种称呼,有的⽤户称之为数据库记录(record),有的称呼为⾏(row)这个两个专业术语可以交替使⽤,但是从技术上来说,“⾏(row)”才是正常的术语。
主键:primary key,⼀列(或者⼀组列)其值能够唯⼀的标识表中的每⼀⾏。
注意:应该总是定义主键,创建的每个表都应该有⼀个主键,以便于以后数据库的操作和管理。
表中的任何列都可以作为主键,只需要满⾜下列条件。
1)任意两⾏都不具有相同的主键值(唯⼀性)2)每⼀⾏都必须具有⼀个主键值(主键值不允许为null)3)主键列中的值不允许修改或更新4)主键值不能重⽤(如果某⾏从表中删除,它的主键不能赋值给以后的新创建的⾏。
)主键通常定义在表的⼀列上,也可以使⽤多个列作为主键(联合主键),多个列作为主键,上述4个条件必须应⽤到所有的列,所有列值的组合必须唯⼀(满⾜主键的唯⼀性)SQL(structure qurey language)结构话查询语⾔,⽤来与数据库沟通的语⾔。
第⼆课:检索数据注意:SQL不区分⼤⼩写,因此SELECT 和 select是⼀样的。
在处理SQL语句时,所有的空格都会被忽略。
select prod_name from products;select prod_namefrom products;表⽰同样的意思。
说明:许多SQL开发⼈员喜欢对SQL关键字使⽤⼤写,⽽对列名和表名使⽤⼩写,这样做的⽬的是使代码更易于阅读和调式。
SELECT prod_name FROM products;2、检索单个列SELECTprod_nameFROMproducts;⼤多数SQL开发⼈员认为将SQL语句分成多⾏更容易阅读和调式。
3、检索多个列SELECT prod_id,prod_name,prod_price FROM products;注意:多个列查询,SELECT关键字后⾯跟列名,多个列中间使⽤逗号“,”进⾏分隔,最后⼀个需要查询的列不⽤逗号分隔。
sql学习心得5篇精选汇总

sql学习心得5篇精选汇总结构化查询语言(SQL)是用于关系数据库管理和数据操作的标准计算机语言。
下面给大家带来一些关于sql实验心得,希望对大家有所帮助。
sql实验心得1sQL是structured Query Language(结构化查询语言)的缩写。
sQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出做什么的命令,怎么做是不用使用者考虑的。
sQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持sQL。
它的强大功能以前就听人说过,所以就选了这门课。
经过一个学期的数据库课程的学习,我们掌握了创建数据库以及对数据库的操作的基础知识。
幸老师的教学耐心细致,课堂上我们有不理解的地方老师都反复讲解,使我们的基础知识掌握的比较牢固。
数据库这门课涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。
通过学习,我对数据库没有了神秘感,简单的说下我对数据库的理解吧。
我觉得它就是创建一些表格,然后再用一些语句根据他们之间的关系,把它们组合在一起。
最基本的就是子查询了。
我的子查询经验就是先写出select _ 我们要找什么,然后写条件,我们要找的东西有什么条件,然后在写条件,我们的条件涉及那些表,那些字段,再在这些字段中通过我们学过的简单select语句选出来,有时候还要用到几层子查询,不过无所谓,只要思路是清晰的就没什么问题了。
接下来,关联查询之类的,学起来也是不难的,但有一点必须注意,那就是上课必须跟着老师的进度走,一定要注意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。
总之,这是一门很值得学的课程,自己学过获益匪浅,就算自己将来不从事这个行业,但是至少对数据不再陌生,甚至还略知一二。
呵呵谢谢老师~!延伸阅读:数据库设计心得体会跟老板做了两个算是比较大的项目,数据库主体都是我设计的。
精通 oracle 10g plsql 编程-学习笔记

1.PL/SQL综述本章学习目标,了解如下内容:PL/SQL的功能和作用PL/SQL 的优点和特征;Oracle 10g、Oracle9i 的PL/SQL新特征1.1.SQL简介1.1.1.SQL语言特点SQL语言采用集合操作方式1.1.2.SQL语言分类●数据查询语言(SELECT语句):检索数据库数据。
●数据操纵语言(DML):用于改变数据库数据。
包括insert,update和delete三条语句。
●事务控制语言(TCL):用于维护数据库的一致性,包括commit,rollback和savepoint 三条语句●数据定义语言(DDL):用户建立、修改和删除数据库对象。
●数据控制语言(DDL):用于执行权限授予和收回操作。
包括grant 和revoke两条命令。
1.1.3.SQL 语句编写规则●SQL关键字不区分大小写●对象名和列名不区分大小写●字符值和日期值区分大小写●书写格式随意1.2.PL/SQL简介1.3.Oracle 10G PL/SQL 新特征2.PL/SQL开发工具本章学习目标:学会使用SQL*PLUS学会使用PL/SQL developer;学会使用Procedure Builder。
2.1.SQL*PLUS在命令行运行SQL*PlusSqlplus [username]/[password] [@server]3.PL/SQL 基础学习目标:●了解PL/SQL块的基本结构以及PL/SQL块的分类;●学会在PL/SQL块中定义和使用变量●学会在PL/SQL块中编写可执行语句;●了解编写PL/SQL代码的指导方针;●了解Oracle 10g的新特征——新数据类型BINARY_FLOAT 和BINARY_DOUBLE,以及指定字符串文本的新方法。
3.1.PL/SQL 块简介3.1.1.PL/SQL块结构3.1.2.PL/SQL 块分类匿名块命名块子程序触发器3.2. 定义并使用变量3.2.1.标量变量3.2.2.复合变量3.2.3.参照变量3.2.4.LOB 变量3.2.5.非PL/SQL 变量3.3.编写 PL/SQL 代码3.3.1.PL/SQL 词汇单元分隔符标识符文本(数字文本,字符文本,字符串文本,布尔文本,日期时间文本)注释3.3.2.PL/SQL 代码编码规则标识符命名规则大小写规则代码缩进嵌套块和变量范围PL/SQL中可以使用的SQL函数4.使用SQL语句学习目标:学会使用SELECT语句去完成基本查询功能学会使用INSERT,UPDA TE和DELETE语句去操作数据库数据学会使用COMMIT,ROLLBACK和SA VEPOINT语句去控制事务学会使用SELECT语句去实现各种复杂查询功能(数据分组、连接查询、子查询、层次查询、合并查询等)4.1.使用基本查询处理NULL:函数nvl(expr1,expr2),nvl2(expr1,expr2,expr3)4.2.使用DML语句使用多表插入数据语法:INSERT ALL insert_into_clause [value_clause] subquery;INSERT conditional_insert_clause subquery;示例1:使用ALL 操作符执行多表插入INSERT ALLWHEN deptno=10 THEN INTO dept10WHEN deptno=20 THEN INTO dept20WHEN deptno=30 THEN INTO dept30WHEN job=’CLERK’ THEN INTO clerkELSE INTO otherSelect * from emp;示例2:使用FIRST 操作符执行多表插入INSERT FIRSTWHEN deptno=10 THEN INTO dept10WHEN deptno=20 THEN INTO dept20WHEN deptno=30 THEN INTO dept30WHEN job=’CLERK’ THEN INTO clerkELSE INTO otherSELECT * FROM emp;4.3.使用事务控制语句4.3.1.事务和锁4.3.2.提交事务4.3.3.回退事务设置保存点:savepoint a;或者exec dbms_transaction.savepoint(‘a’)取消部分事务Rollback to a;或者Exec dbms_transaction.rollback_savepoint(‘a’)取消全部事务:Rollback; 或者exec dbms_transaction.rollback() 4.3.4.只读事务4.3.5.顺序事务4.4.数据分组4.4.1.分组函数MaxMinAvgSumCountVarianceStddev使用分组函数注意事项:●当使用分组函数时,除了函数Count(*) 之外,其他分组函数都会忽略NULL行。
SQl数据库快速入门必须掌握的四大基本语句

SQl数据库快速入门必须掌握的四大基本语句做一个系统的后台,基本上都少不了增删改查,作为一个新手入门,我们必须要掌握SQL 四条最基本的数据操作语句:Insert,Select,Update和Delete!下面对这四个语句进行详细的剖析:熟练掌握SQL是数据库用户的宝贵财富。
在本文中,我们将引导你掌握四条最基本的数据操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。
当你完成这些学习后,显然你已经开始算是真正SQ L入门了。
在我们开始之前,先使用CREA TE TABLE语句来创建一个表。
DDL语句对数据库对象如表、列和视进行定义。
它们并不对表中的行进行处理,这是因为DDL语句并不处理数据库中实际的数据。
这些工作由另一类SQL语句—数据操作语言(DML)语句进行处理。
SQL中有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
由于这是大多数SQL用户经常用到的,我们有必要在此对它们进行一一说明。
在图1中我们给出了一个名为EMPLOY EES的表。
其中的每一行对应一个特定的雇员记录。
请熟悉这张表,我们在后面的例子中将要用到它。
INSERT语句用户可以用IN S ERT语句将一行记录插入到指定的一个表中。
例如,要将雇员John Smith 的记录插入到本例的表中,可以使用如下语句:INSERTINTO EMPLOYE ES VALUES('Smith','John','1980-06-10','Los Angles',16,45000);通过这样的IN SERT语句,系统将试着将这些值填入到相应的列中。
这些列按照我们创建表时定义的顺序排列。
SQL语言学习总结

SQL语言学习总结1. SQL(Structured Query Language)是一种用于管理关系数据库系统的标准语言。
通过SQL语句可以对数据库进行创建、查询、修改和删除等操作。
2. SQL语句主要分为四种类型:数据操作语言(DML),数据定义语言(DDL),数据控制语言(DCL)和事务控制语言(TCL)。
3. 数据操作语言(DML)主要用于对数据库中的数据进行查询和修改操作,常用的DML语句有SELECT、INSERT、UPDATE和DELETE。
4. 数据定义语言(DDL)用于定义数据库结构,包括创建表、修改表和删除表等操作,常用的DDL语句有CREATE、ALTER和DROP。
5. 数据控制语言(DCL)用于设置数据库用户的权限和角色,常用的DCL语句有GRANT和REVOKE。
6. 事务控制语言(TCL)用于管理数据库事务,常用的TCL语句有COMMIT、ROLLBACK和SAVEPOINT。
7. SQL语句可以通过执行顺序分为两种类型:批处理SQL和交互式SQL。
批处理SQL 一次执行多条SQL语句,而交互式SQL是一次执行一条SQL语句。
8. SQL语句可以使用通配符、操作符和函数来进行数据查询和处理。
通配符可以用来匹配模式,操作符用于比较和计算,函数用于处理数据和返回结果。
9. SQL语句可以使用条件语句和连接语句来进行复杂的数据查询和更新操作。
条件语句用于筛选数据,连接语句用于联结多个表进行查询。
10. 使用索引可以提高数据库的查询性能,可以通过创建索引来加快查询速度。
索引可以使用CREATE INDEX语句创建,也可以通过ALTER TABLE语句添加。
总的来说,学习SQL语言需要熟悉常用的语法、理解不同类型的SQL语句的用途和使用场景,并通过实践和练习来加强对SQL语言的理解和应用能力。
全国计算机二级sql知识点

全国计算机二级sql知识点
全国计算机二级SQL的知识点包括但不限于:
1. SQL的数据定义语言(DDL),如CREATE、ALTER、DROP等命令,用于定义和管理数据库中的表、视图、索引等对象。
2. SQL的数据操纵语言(DML),如INSERT、UPDATE、DELETE等命令,用于添加、修改、删除数据库中的数据。
3. SQL的数据查询语言(DQL),如SELECT命令,用于查询数据库中的数据,可以进行条件查询、聚合查询、连接查询等操作。
4. SQL的数据控制语言(DCL),如GRANT、REVOKE等命令,用于控制数据库中的数据访问权限。
5. 数据库规范化理论,包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等,用于规范化数据库表的设计,消除数据冗余和提高数据一致性。
6. 数据库设计的基本概念和方法,如ER图、实体-关系模型等,用于设计数据库结构和数据关系。
7. 数据库的备份与恢复技术,如备份数据库文件、恢复数据库文件等,用于保护数据库的数据安全和完整性。
8. 数据库的性能优化技术,如索引优化、查询优化等,用于提高数据库性能和响应时间。
9. 数据库的安全性管理,如用户账户管理、权限控制等,用于保护数据库的安全和机密信息。
以上是全国计算机二级SQL知识点的一部分,仅供参考。
具体考
试内容和要求可能因地区和考试机构而有所不同,建议查阅相关的考试大纲和教材。
sqlserver2012学习笔记

sqlserver2012学习笔记select ProductID, Name as ProductName, --using an alias'The list price for ' + ProductNumber + ' is′+convert(varchar,ListPrice)+′.′,−−usingtheconcatenationtojoincharacterend−to−end.′Thelistpricefor′+ProductNumber+′is ' + convert(varchar,ListPrice) +'.' as [Description] --using brackets to let SQL server conside the strin as a column namefrom Production.Product在where语句中⽤>,=,<等字符eg:select * from [Sales].[SalesOrderHeader]where SalesPersonID=275select * from [Sales].[SalesOrderHeader]where SalesOrderNumber='so43670' //string类型加单引号where语句中使⽤or或andeg:select SalesOrderID,OrderDate,SalesPersonID,TotalDue as TotalSalesfrom [Sales].[SalesOrderHeader]where SalesPersonID=275 and TotalDue>5000 and Orderdate between '2005-08-01' and '1/1/2006'like中使⽤%号 //%表⽰可以有,可以没有select * from [Production].[Product]where name like'Mountain'select * from [Production].[Product]where name like'%Mountain%' --Wildcard % matches any zero or more characters_下划线表⽰前⾯有⼀个不知道的字符select * from [Production].[Product]where name like'_ountain%'Where语句中使⽤in或not inselect * from [Production].[Product]where color in ('red','white','black')select * from [Production].[Product]where class not in ('H') -- same as using: <> 'H'//没有H的is null 与is not null--Topic 10select * from [Production].[Product]where size is nullselect * from [Production].[Product]where size is not nullor与and的理解Processing math: 100%。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL 语言学习笔记《脑动力SQL语言实务速查效率手册》第二章SQL中的数据类型和运算符:数据类型SQL支持的数据类型主要包括预定义的数据类型和用户自定义的数据类型。
其中,SQL 预定一的数据类型主要包括数值类型、字符串类型、日期类型和布尔值等数据类型。
数值类型之小数类型——NUMBER如果形式为Number(size),则表明最大数字的位数由括号中的参数size设置;如果形式为Number(size,d),则表明最大数字的位数由括号中的参数size设定,而括号中的参数d是设置小数点的位数。
注意:不同的数据库管理系统所支持的数据类型不尽相同,例如在SQL Server 中Number数据类型被写成Decimal或Numeric。
字符串类型字符串类型是最常用的数据类型之一。
字符型变量可分为固定长度字符和可变长度字符两种。
固定长度字符变量的字符数在数据表创建时就指定了,并分配了存储空间。
例如,指定通信录表姓名的字符数为10,如果输入的字符数超过10,那么数据库只记录前10个字符,如果输入的字符数少于10个,那数据库会自动在字符右边以空格填补到10个字符。
可变长度字符串类型——V archar 、Text固定长度字符串类型——Char 长度为n个字节,n的取值范围为不超过255个字节。
例如:C_Name char(8)如果C_Name只有4个字符,那么其余4个字符将是空格。
日期类型Datetime和smalldatetime是最常见的两种日期数据类型。
Datetime 数据类型所占用的存储空间为8字节。
其中一个4字节存储“基础日期”(即1900年1月1日)之前或之后的天数;另一个4字节存储日期的时间(以午夜后经过的毫秒数表示)。
Smalldatetime的值是存储为4字节的整数。
其中一个2字节存储1900年1月1日后的天数;另一个2字节存储午夜后经过的分钟数。
日期输入格式(1)英文+数字格式:月份可用英文全名或缩写,且不区分大小写;年和月日之间可不用逗号;年份可为4位或2位,当其为2位时,若值小于50,则视为20XX年,若大于或等于50,则视为19XX年;若日部分省略,则视为当月的1号。
如June 18 2010 Oct 1 2001 January 2010 2011 February(2)数字+分隔符格式:允许把斜杠(/)、连接符(-)和小数点(.)作为数字表示的年、月、日之间的分隔符。
格式如下YMD:2012/1/22 2012-1-22 2012.1.22MDY : 3/5/2010 3-5-2011 31.12.2011(3)纯数字格式:是以连续的4位、6位或8位数字来表示日期时间输入格式在输入时间时,必须按“小时、分钟、秒、毫秒”的顺序来输入,在其间用冒号“:”隔开。
《脑动力SQL语言实务速查效率手册》第二章SQL中的数据类型和运算符:运算符在SQL语句中,可以运用各种运算符和函数直接对查询列的数据进行一些处理。
将处理后的结果显示给用户。
算术运算符“+”:表示数值相加运算“-”:表示数值想减运算“*”:表示数值相乘运算“/”:表示相除运算以上运算符的优先级顺序与算数运算中的优先级顺序基本相同。
例如Select s_title, s_value, s_trans, s_value+ s_trans as all_values from t _sale其中的as all_values是s_value+ s_trans的别名算术运算符的组合使用如从销售信息表(t_sale)中查询货物名称(s_title)和销售获取总金额(s_value 与s_trans之和再乘以s_nums)信息Select s_title,( s_value+ s_trans)* s_nums from t_sale逻辑运算符包括逻辑与(AND)运算符和逻辑或(OR)运算符逻辑与(AND)运算符表示查询在表达式中既符合条件1又符合条件2的数据。
也就是只有同时满足两个查询条件,才能查询出符合条件的记录。
如果不同时满足,则查询的结果为空值(NULL)说明:AND运算符也可以连接两个以上的查询条件。
如condition1 AND condition2 AND condition3,此时需要同时满足3个查询条件。
在一个where子句中,可以同时使用多个AND运算符连接多个查询条件。
此时,必须满足所有的查询条件记录,才能查询出所需的数据信息。
逻辑或(OR)运算符表示在表达式中查询符合条件1或符合条件2的数据说明:与AND运算符一样,OR运算符也可以连接两个以上的查询条件,此时,只要满足一个条件即可。
逻辑运算符的组合使用AND和OR可以单独使用,也可以组合使用,但会涉及运算符的优先级问题,在SQL中,AND运算符的优先级要高于OR运算符。
注意:括号()的优先级要高于AND运算符和OR运算符的优先级。
在将AND运算符与OR运算符进行组合使用时,建议采用括号()来表现需要的执行顺序,这样可以增强程序的可读性。
《SQL技术与网络数据库开发详解》第08章高级条件查询组合WHERE子句使用IN运算符NOT运算符实现模糊查询8.1组合WHERE 子句使用AND和OR运算符设置高级查询条件的具体方法。
AND和OR两个运算符可以将单独的条件表达式组合在一起。
8.1.1 AND运算符AND运算符只有当两边操作均为True 时,最后结果才为True。
使用AND描述“与”(而且)的关系,即,既满足第一个条件且满足第二个条件时才会通过审核。
如:从Student表中查询计算机系的所有女生,并将结果按学号升序排序Select * from student where 所属院系=‘计算机系’AND 性别=‘女’order by 学号如:从Student表中查询1975年出生的所有学生,并将结果按出生日期升序排序。
(1)如果SQL运行环境为Access,则因为日期型数据中没有时间,可以使用如下SELECT 语句查询:Select * from student where 出生日期﹥=#01/01/1975# AND 出生日期﹤=#12/31/1975# order by 出生日期(2)如果SQL运行环境为SQL Server,则因为日期型数据中有时间,可以使用如下SELECT 语句查询:Select * from student where 出生日期﹥=‘01/01/1975’AND 出生日期﹤‘01/01/1976’order by 出生日期(3)如果SQL运行环境为Oracle,也因为日期型数据中有时间,可以使用如下SELECT语句查询:Select * from student where 出生日期﹥=‘01/JAN/1975’AND 出生日期﹤‘01/JAN/1976’order by 出生日期根据需要可以使用多个AND组合条件,如下题从Student表中查询1975年出生的所有女生,并将结果按出生日期升序排序。
假设SQL运行环境为SQL Server。
Select * from student where 出生日期﹥=‘01/01/1975’AND 出生日期﹤‘01/01/1976’AND性别=‘女’order by 出生日期8.1.2 OR运算符OR运算符只有当两边操作数均为False时,最后结果才为False,只有一边是True,则最后结果为True。
根据OR的这种运算规则,使用OR运算符描述“或”(或者)的关系,即当满足任何一个条件就可以通过审核。
从Student表中查询中文系的所有学生和外语系的所有学生,并将结果按学号升序排序分析:本题两个条件的关系其实是“或”,因为满足任何一个条件就可以通过审核Select * from student where 所属院系=‘中文系’OR所属院系=‘外语系’order by 学号8.1.3AND与OR的优先顺序问题WHERE子句中可以包含任意数量的AND和OR运算符,并且允许两者结合使用。
如从Student表中查询中文系和外语系的所有女生Select *from studentwhere 所属院系=‘中文系’OR所属院系=‘外语系’AND 性别=‘女’order by 学号如果按上面的语句,可能会造成查询结果的错误,根源是运算符的优先级问题,在表达式中,如果出现了AND和OR两种运算符,则并非从左到右按顺序运算,而是优先执行AND,然后执行OR运算符。
所以上面的条件表达式与下面的表达式等价:所属院系=‘中文系’OR(所属院系=‘外语系’AND 性别=‘女’)而这表达式的意思是:中文系的所有学生和外文系的所有女生。
为了让OR运算符优先执行,可以使用括号,该题正确的查询语句为Select *from studentwhere (所属院系=‘中文系’OR所属院系=‘外语系’)AND 性别=‘女’order by 学号技巧:在有多种运算符的组合条件表达式中,尽量使用括号,即使计算机不需要使用这些括号,但这样会方便人们阅读和理解复杂的条件表达式,同时也会减少出错的概率。
8.2 使用IN运算符在查询中,遇到的查询任务是——指定的字段值只要属于某个集合,就将该记录查询出来,此时,会用到IN运算符。
8.2.1使用IN运算符IN运算符的运算规则是:当X在集合{Value1,Value2,……V alueN}中时,表达式X IN (Value1,Value2,……V alueN)为True,而X不在集合{ V alue1,Value2,……ValueN}中时,上面的表达式为False。
例如:8 IN (2,5,8,13)因为8在集合中,所以表达式的值为True。
对于7 IN(2,5,8,13)因为7不在集合{2,5,8,13}中,所以表达式的值为False。
例题:从Course表中查询学分为2、3、4的课程的信息,并按学分降序,课号升序排序。
Select *from coursewhere 学分IN (2,3,4)order by 学分DESC,课号说明:在IN运算符表达式中,集合必须用圆括号括住,并且各元素之间用逗号(,)分隔。
例题:从从Student表中查询中文系、外语系和计算机系的所有学生,并按院系降序排列。
Select *from studentwhere 所属院系IN (‘中文系’,‘外语系’,‘计算机系’)order by所属院系DESCIN运算符还有一个反向运算符——NOT IN,见下例从从Student表中,查询除中文系、外语系和计算机系以外的其他系的学生,并按院系降序排列。
Select *from studentwhere 所属院系NOT IN(‘中文系’,‘外语系’,‘计算机系’)order by所属院系DESC8.2.2使用IN运算符的优点感觉IN运算符和OR运算符实现的功能是相同的,但IN运算符有如下优点:■当条件很多时,使用IN运算符会使语句更加简洁、清楚。