students(学生ID,班级ID,学校ID,卡号ID)
classes(班级ID,年级ID,班级名)
schools(学校ID,学校姓名)
grades(年级ID,年级名)
需求:找到卡号=10的学生的姓名,年级,班级,学校
select *
from students
inner join classes
on students
.classes_id
=classes
.classes_id
inner join grades
on classes
.grades_id
=grades
.grades_id
where length(students_card_id
)=10
先查询三表的 这个语句都没有执行成功 ,不知道是不是
students.students_card_id . length()=10
条件查询你为什么还要用个length()包起来...length()是获取字符串长度,可是你需求不是说要查询卡号等于10的吗?条件变成:where students.students_card_id = 10这样子不行吗
select a.学生ID ,b.班级名,c.学校姓名,d.年级名
from students a,
classes b,
schools c,
grades d
where a.班级ID = b.班级ID
and a.学校ID = c.学校ID
and b.年级ID = d.年级ID
and a.卡号ID = 10