第一章 简单SQL语句
1.1、数据查询
数据查询的一般格式为:
SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]...
[into 新表名]
FROM <表名或视图名>[]
[WHERE <条件表达式>]
[GROUP BY <列名1>[HAVING<条件表达>]]
[ORDER BY <列名2>[ASC|DESC]]
说明:整个SELECT语句的含义是,根据WHERE子句的条件表达式,从FROM 子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属
性值形成结果表。
INTO子句用于将查询到的结果数据按照原来的数据类型保存到一个新建的表中。
yellowteacher如果有GROUP BY 子句,则将结果按<列名1>的值进行分组,该属性列值相等的元组为一组。通常会在每组中作用聚集函数。如果GROUP BY 子句带HAVING短语,则只有满足指定条件的组才予以输出。
如果有ORDER BY 子句,则结果表还要按<列名2>的值的升序(ASC)或降序(DESC)排序。
注:[]表示可选项,该子句表达可有也可无。
查询条件 | 运算符 | 作用 |
比较 | >、>=、=、<、<=、<>、!=、!>、!< | 比较大小 |
确定范围 | BETWEEN …AND、 NOT BETWEEN …AND | 判断列值是否在指定范围内 |
确定集合 | IN、NOT IN | 判断列值是否为列表中的指定值 |
字符匹配 | LIKE、 NOT LIKE | 判断列值是否与指定的字符匹配格式相符 |
空值 | IS NULL、 IS NOT NULL | 判断列值是否为空 |
逻辑运算 (逻辑运算) | AND、OR、红与黑作者NOT | 用于多条件的逻辑连接 |
德国领导人 | | |
1.1.1使用INTO子句
羊的种类使用INTO子句允许用户定义一个新表,并且把SELECT子句的数据插入到新表中,其语法格式如下:
SELECT 选取的列
INTO 新表名
FROM 表名
WHERE 查询条件
使用SELECT INTO 插入数据时,需要注意以下几点:
(1)新表不能存在,否则会产生错误信息。
(2)新表中的列和行是基于查询结果集的。
(3)如果新表名称的开头为“#”,则生成的是临时表,可以在系统数据库tempdb临时表#
表名中找到刚才生成的临时表。
(4)使用INTO子句,通过在WHERE子句中包含FALSE条件,可以创建一个和源表结构相同的空表。即只是获得一个空的表结构,则查询条件必须为FALSE,如2=1,有如下的SQL语句供参考。
SELECT *
INTO 上海客户
FROM 客户信息
WHERE 2=1
1.1.2使用WHERE 子句
1、字符匹配
谓词LIKE 可以用来进行字符串的匹配,其一般语法格式为:
[NOT]LIKE ‘<匹配串>’[ESCAPE ‘<换码字符>’]
其含义是查找指定的属性列与<匹配串>相匹配的符串。<字符串>可以是一个完整的字符串,也可以含有通配%和_。其中:
●%(百分号):代表任意长度(长度可以为0)的字符串。例如a%b表示以a开头,以 b结尾的任意长度的字符串 。如acb,addgb,ab等都满足该匹配串。
●_(下横线)代表任意单个字符。例如a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该区配串。
注意:在中文的SQL SERVER2005中,一个汉字占两个字符,但_表示一个汉字。
●如果用户要查询的字符串本身就含有%农机局或_,这时就要使用ESCAPE '<换码字符>'短语,对通配符进行转义。
2、涉及空值的查询
例如:查询缺少成绩的学生的学号及相应课程号。
SELECT Sno,Cno
FROM SC
用力顶WHERE Grade IS NULL
注意:这里的‘IS’不能用等号(=)代替。
3水浒传内容简介、多重条件查询
逻辑运算符AND 和OR可用来联结多个查询条件。AND 的优先级高于OR,但可以用括号()改变优先级。
4、ORDER BY子句
可以用ORDER BY子句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排序,缺省值为升序。
酒桌游戏