SQL语句之单表查询

#各列的顺序可以与表中的顺序不相同

#<目标列表达式>可以是列名也可以是表达式
SELECT Sname,2014-Sage Birthday FROM student;

#消除重复的行
SELECT DISTINCT Sno FROM sc;

#没有DISTINCT,默认为ALL
SELECT ALL Sno FROM sc;
#比较大小
#查询计算机科学系的全体学生名单
SELECT Sname
FROM student
WHERE Sdept='CS';

#查询年龄在20岁以内的学生姓名及其年龄
SELECT Sname,Sage
FROM student
WHERE Sage<20;
#查询考试成绩不及格的学生的学号
SELECT DISTINCT Sno
FROM sc
WHERE Grade<60;

#确定范围
#查询年龄在20~23岁之间的学生的姓名,系别和年龄
SELECT Sname,Sdept,Sage
From student
WHERE Sage BETWEEN 20 and 23;

#查询不再在上述条件的学生
SELECT Sname,Sdept,Sage
FROM student
WHERE Sage NOT BETWEEN 20 AND 23;

#确定集合
#查询计算机系,数学系,信息系的学生姓名和性别
SELECT Sname,Ssex
FROM student
WHERE Sdept IN ('CS','MA','IS');

#查询既不是计算机科学系,数学系,也不是信息系的学生的姓名和性别
SELECT Sname,Ssex
FROM student
WHERE Sdept NOT IN('CS','MA','IS');

#字符匹配
#[NOT] LIKE'<匹配串>' [ESCAPE'<换码字符>']
#精确匹配
SELECT * FROM student
WHERE Sno Like '201215121';
#等价表达,可以用=运算符取代Like谓词,用!=或<>运算符取代NOT LIK谓词
SELECT *
FROM student
WHERE Sno='201215121';

#查询所有姓刘的学生的姓名、学号和性别%代表任意长度的字符串
SELECT Sname,Sno,Ssex
FROM student
WHERE Sname LIKE '刘%';

猜你喜欢

转载自blog.csdn.net/p715306030/article/details/115363701