以此纪念在深圳做测试的日子…… 每天进步一点点,相信成长不言而喻

SQL学习笔记之二

上一篇 / 下一篇  2010-01-19 22:42:52 / 个人分类:数据库

增加列:alter table 表名 add 列名 数据类型

单表查询:select 列名 from 表名 where 条件 order by 列名 asc/desc

多表查询:
1.select 列名 from 表名 where 列名 in (select 列名 from 表名 where 条件)
  例:查询成绩在90分以上的学生的姓名(学生表student,选课表enroll)
      select sname
      from student
      where sno in (select sno from enroll where score>90)
  注:IN的含义:当sno在子查询返回的sno表中时where子句值为真
2.select 列名 from 表名 where 列名=any (select 列名 from 表名 where 条件)
  例:查询成绩在90分以上的学生的姓名(学生表student,选课表enroll)
      select sname
      from student
      where sno=any
      (select sno from enroll where score>90)
  注:ANY含义:规定的运算符(=)对于任何一个子查询返回的结果为真时,where子句为真。

连接查询:
1.例:查询全部学生的学生姓名、所学课程号及成绩
      select sname,cno,score
      from student,enroll
      where student.sno=enroll.sno
  注:当两个列名相同时,必须在其列名前加上所属表的名字和一个“.”

连接查询原则:
1.连接条件数正好比表数少1
2.若一个表中的主关键字是由多个列组成的,则对此主关键字中的每一个列都要有一个连接条件

小注:
1.*表示选出相应表中的所有列
2.order by 列名:指按指定列排序,asc升序,desc降序,缺省为升序
3.IN表示指定属性与后面的集合某个值相匹配,等同于一些列or的缩写,前可加NOT
4.BETWEEN表示“包含于……之中”A BETWEEN B and C等价于A>=B and A<=C,前可加NOT
5.NULL表示“未知值”,不能表示无形值、缺省值、不可用值
  应用在查询条件时,只能用:where BPLACE is(not) null


TAG:

 

评分:0

我来说两句

Open Toolbar