SQl完成核心功能的9个动词
数据查询:SELECT(查询)。
数据定义:CREATE(创建),DROP(撤销),ALTER(修改)。
数据操作:INSERT(插入),UPDATE(修改),DELETE(删除)。
数据控制:GRANT(授权),REVOKE(收权)。
对于教学中有三个表
S(学号,姓名,年龄,性别)
C(课程号,课程名,任课教师姓名)
SC(学号,课程号,成绩)
S表
C表
SC表
<1>查询没有选课学生的学号
SELECT s.sno,s.sname
FROM s
WHERE sno NOT in
(SELECT sc.sno
FROM sc)
<2>查询至少选修了两门课程的学生学号姓名
SELECT sno,sname
FROM s
WHERE sno in
(SELECT sno
FROM sc
GROUP BY sno
HAVING count(cno)>=2)
<3>把web课的所有不及格的成绩改为60
UPDATE sc
SET result=60
WHERE cno in
(SELECT cno
FROM c
WHERE cname='web')
AND result < 60;
<4>查询sc表中的学生学号并降序排列(无重复)
SELECT DISTINCT sno
FROM sc
ORDER BY sno DESC
DISTINCT的含义是去除取值中重复的行
<5>查询姓诸葛的老师所教的课程名
SELECT cname
FROM c
WHERE teachername LIKE '诸葛%'
通配符
- % (百分号)代表任意长度的字符(长度可以为0)。
- _ (下横线) 代表单个字符。
- 转义字符 ESCAPE '\' ,当要查询的字符串本身就含有_或者%时就要对其进行转义。