(1)SELECT基本句法
SQL的查询语句是SELECT语句,其功能是对数据库进行查询并返回符合查询要求的数据。SELECT语句的基本语法格式如下,其中[]表示可选项:
语句中SELECT关键词之后的列名表示构成查询结果的属性列,还可以使用“*”表示返回表格中所有的列;FROM关键词之后的表名表示要进行查询操作的表格,可以有多张表格,将各个表名依次排列在FROM关键词之后,用逗号隔开;WHERE可选子句用来表示查询条件,符合条件的数据将被作为查询结果返回。
在WHERE条件从句中可以使用以下一些运算符来设定查询条件:
除了上面提到的运算符外,LIKE运算符也是一个重要的运算符,能够实现字符串的模糊匹配,通常与通配符“%”和“_”一起使用。“%”通配任意个字符(0个或多个),“_”通配任意1个字符。例如:
这条语句实现的功能是在学生表中查找年龄在20岁以下、姓王的男生的元组。
比较特殊的,判断是否空值的运算符是IS[NOT]NULL,而不是用=或<>,某些情况下对空值的判断非常有用,例如,要查询某学生(假设学号为“2013304201001”)还未参加考试的课程的课程编号,可以用以下语句实现:
“成绩”属性列为空值意味着目前还没有成绩,表示未参加考试。(www.xing528.com)
(2)SELECT完整句法
SELECT语句中还可包含GROUP BY子句和ORDER BY子句,这里给出完整的SELECT语句的语法形式:
语句中的GROUP BY子句可将查询结果的各元组按某属性列取值相等的原则进行分组,HAVING短语可将分组后的各组按条件作进一步筛选;ORDER BY子句将查询结果的各元组按某属性列取值作升序(ASC)或者降序排序(DESC)。
同时,SQL提供了以下聚集函数对一组值作计算:
查询语句中使用聚集函数可以完成要求更为复杂的查询,例如,要查询各被选课程的最高分,可以按课程编号对学生选课表中的元组进行分组,再计算每个分组“成绩”属性列的最大值,具体的查询语句如下:
再例如,要查询至少有10个学生选修了的课程的课程编号,可以按课程编号对学生选课表中的元组进行分组,计算每个分组包含多少个元组(即选课人数),满足个数大于等于10的分组,其课程编号即为所求,具体的查询语句如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。