1.查看学生表所有信息
SELECT * FROM student;
2.查看学生表中的学生姓名和性别
SELECT stuName,gender FROM student;
3.别名
AS 关键字可以省略 ''也可以省略
SELECT stu.stuName AS '姓名',stu.gradeId + 1 年级 FROM student stu;
4.去重DISTINCT
DISTINCT 用来在指定的查询字段值范围内 去除重复数据
SELECT DISTINCT stuName,gradeId FROM student;
5.where查询条件
在修改 和 删除时用过 目的是为了防止修改/删除全表。
用于检索数据表中符合条件的记录的
查询年级是大于1的学生信息
SELECT * FROM student WHERE gradeId > 1;
连接查询(内连接,外连接,自连接)
内连接:显式内连接 ,隐式内连接
查询学生的姓名和所在年级
SELECT stuName,gradeId FROM student;
采用显式内连接,内连接可以理解为交集
SELECT
stu.stuName,g.gradeName
FROM
student stu
INNER JOIN grade g
ON stu.gradeId = g.gradeId;
采用隐式内连接查询
SELECT
stu.stuName,g.gradeName
FROM
student stu,grade g
WHERE
stu.gradeId = g.gradeId;
查询所有的学生姓名、课程名称、考试成绩
SELECT
stu.stuName,sub.subjectName,r.result
FROM
student stu,`subject` sub,result r
WHERE
stu.stuId = r.stuId
AND
sub.subjectId = r.subjectId;
外连接:左外连接、右外连接
采用左外连接 以左表为主 LEFT JOIN前面的就是左表
SELECT
stu.stuName,g.gradeName
FROM
student stu LEFT OUTER JOIN grade g
ON stu.gradeId = g.gradeId;
采用右外连接
SELECT
stu.stuName,g.gradeName
FROM
student stu RIGHT JOIN grade g
ON stu.gradeId = g.gradeId;
自连接(内连接)
查询游戏名称和所属分类
SELECT
c1.categoryName,c2.categoryName
FROM
category c1,category c2
WHERE
c1.pid = c2.id