SQL学习笔记三 select语句的各种形式小结
代码如下:Select * from T_Employee select FName,FAge from T_Employee select FName from T_Employee where FSalary & 5000 select FName as 姓名,FAge as 年龄,FSalary as 月薪from T_Employee where FSalary & 5000 select FName as 姓名,FAge as 年龄,FSalary as 月薪,getdate() as 当前时间from T_Employee
3.3.1 SELECT命令的格式与基本使用 &O数据查询是数据库中最常见的操作。 &OSQL语言提供SELECT语句,通过查询操作可得到所需的信息。 &OSELECT语句的一般格式为: SELECT〈列名〉[{,〈列名〉}] FROM〈表名或视图名〉[{,〈表名或视图名〉}] [WHERE〈检索条件〉] [GROUP BY &列名1&[H***ING &条件表达式&]] [ORDER BY &列名2&[ASC|DESC]]; &O&O查询的结果是仍是一个表。 &OSELECT语句的执行过程是: &O根据WHERE子句的检索条件,从FROM子句指定的基本表或视图中选取满足条件的元组,再按照SELECT子句中指定的列,投影得到结果表。 &O如果有GROUP子句,则将查询结果按照&列名1&相同的值进行分组。 &O如果GROUP子句后有H***ING短语,则只输出满足H***ING条件的元组。 &O如果有ORDER子句,查询结果还要按照&列名2&的值进行排序。 &O例3.21 查询全体学生的学号、姓名和年龄。 SELECT SNO, SN, AGE FROM S &O例3.22 查询学生的全部信息。 SELECT * FROM S &O用‘ * ‘表示S表的全部列名,而不必逐一列出。 &O例3.23 查询选修了课程的学生号。 SELECT DISTINCT SNO FROM SC &O查询结果中的重复行被去掉 &O&O上述查询均为不使用WHERE子句的无条件查询,也称作投影查询。 &O另外,利用投影查询可控制列名的顺序,并可通过指定别名改变查询结果的列标题的名字。 例3.24 查询全体学生的姓名、学号和年龄。 SELECT SNAME NAME, SNO, AGE FROM S &O其中,NAME为SNAME的别名 3.3.2 条件查询 &O当要在表中找出满足某些条件的行时,则需使用WHERE子句指定查询条件。 &OWHERE子句中,条件通常通过三部分来描述: 1. 列名; 2. 比较运算符; 3. 列名、常数。
3.3.2.1 比较大小 例3.25 查询选修课程号为‘C1’的学生的学号和成绩。 SELECT SNO,SCORE FROM SC WHERE CNO=&O例3.26 查询成绩高于85分的学生的学号、课程号和成绩。 SELECT SNO,CNO,SCORE FROM SC WHERE SCORE&85 &O3.3.2.2 多重条件查询 &O当WHERE子句需要指定一个以上的查询条件时,则需要使用逻辑运算符AND、OR和NOT将其连结成复合的逻辑表达式。 &O其优先级由高到低为:NOT、AND、OR,用户可以使用括号改变优先级。 &O例3.27 查询选修C1或C2且分数大于等于85分学生的的学号、课程号和成绩。 SELECT SNO,CNO,SCORE FROM SC WHERE(CNO=* OR CNO=) AND SCORE&=85 3.3.2.3 确定范围 例3.28 查询工资在之间的教师的教师号、姓名及职称。 SELECT TNO,TN,PROF FROM T WHERE SAL BETWEEN 1000 AND 1500 &O等价于 SELECT TNO,TN,PROF FROM T WHERE SAL&=1000 AND SAL&=1500 &O例3.29 查询工资不在之间的教师的教师号、姓名及职称。 SELECT TNO,TN,PROF FROM TWHERE SAL NOT BETWEEN 1000 AND 1500 3.2.2.4 确定集合 &O利用“IN”操作可以查询属性值属于指定集合的元组。 例3.30 查询选修C1或C2的学生的学号、课程号和成绩。 SELECT SNO, CNO, SCORE FROM SC WHERE CNO IN(‘C1′, ‘C2′) &O此语句也可以使用逻辑运算符“OR”实现。 SELECT SNO, CNO, SCORE FROM SC WHERE CNO=‘C1′ OR CNO= ‘C2’&O利用“NOT IN”可以查询指定集合外的元组。 例3.31 查询没有选修C1,也没有选修C2的学生的学号、课程号和成绩。 SELECT SNO, CNO, SCORE FROM SC WHERE CNO NOT IN(‘C1′, ‘C2′) &O等价于: SELECT SNO, CNO, SCORE FROM SC WHERE CNO!=‘C1′ AND CNO!= ‘C2’&O 3.3.2.5 部分匹配查询 &O上例均属于完全匹配查询,当不知道完全精确的?时,用户还可以使用LIKE或NOT LIKE进行部分匹配查询(也称模糊查询)。 &OLIKE定义的一般格式为: &属性名& LIKE &字符串常量& &O属性名必须为字符型,字符串常量的字符可以包含如下两个特殊符号: &O%:表示任意知长度的字符串; &O_:表示任意单个字符。 例3.32 查询所有姓张的教师的教师号和姓名。 SELECT TNO, TN FROM T WHERE TN LIKE ‘张%’ 例3.33 查询姓名中第二个汉字是“力”的教师号和姓名。 SELECT TNO, TN FROM T WHERE TN LIKE ‘_ _力%’&O注:一个汉字占两个字符。 3.3.2.6 空值查询 &O某个字段没有值称之为具有空值(NULL)。 &O通常没有为一个列输入值时,该列的值就是空值。 &O空值不同于零和空格,它不占任何存储空间。 &O例如,某些学生选课后没有参加考试,有选课记录,但没有考试成绩,考试成绩为空值,这与参加考试,成绩为零分的不同。
例3.34 查询没有考试成绩的学生的学号和相应的课程号。 SELECT SNO, CNO FROM SC WHERE SCORE IS NULL &O注意:这里的空值条件为IS NULL,不能写成SCORE=NULL。
相关文章:
暂时还没有评论.以下试题来自:
填空题设有SC(学号,课程号,成绩)表,下面SQL的SELECT语句检索成绩高于或等于平均成绩的学生的学号。______。
SELECT 学号 FROM SC
WHERE 成绩>=(SELECT ______ FROM SC) ***G(成绩)
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 A2.填空题 A3.填空题 C4.填空题 D5.填空题 IS NULL
热门相关试卷
最新相关试卷> 问题详情
设有 SC(学号 , 课程号 , 成绩 ) 表,下面 SQL 的 SELECT 语句检索成绩高于或等于平均成绩
悬赏:0&***豆
提问人:匿名网友
发布时间:
设有 SC(学号 , 课程号 , 成绩 ) 表,下面 SQL 的 SELECT 语句检索成绩高于或等于平均成绩的学生的学号。SETECT 学号 FROM sc WHERE 成绩 &= (SELECT 【 15 】 FROM sc)请帮忙给出正确***和分析,谢谢!
为您推荐的考试题库
您可能感兴趣的试题
1(1) 假设用一个长度为 50 的数组 ( 数组元素的下标从 0 到 49) 作为栈的 存储 空间,栈底指针 bottom 指向栈底元素,栈顶指针 top 指向栈顶元素,如果 bottom=49 , top=30( 数组下标 ) ,则栈中具有 【 1 】 个元素。2(2) 软件测试 可分为白盒测试和黑盒测试。基本路径测试属于 【 2 】 测试。
我有更好的***
请先输入下方的验证码查看最佳***
图形验证:
验证码提交中……
找***会员
享三项特权
找***会员
享三项特权
找***会员
享三项特权
选择支付方式:
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线***QQ:
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线***QQ:
恭喜您!升级VIP会员成功
常用邮箱:
用于找回密码
确认密码: