SQL从其他表中获取空字段

时间:2017-03-06 11:58:10

标签: mysql sql

我第一次使用视图。 我可以在视图中看到表Course中的记录,但是表-- Tabel StudentCourse maken CREATE TABLE StudentCourse ( StudentCourse int NOT NULL, CourseId int NOT NULL, StudentId int NOT NULL ) -- DROP table StudentCourse -- Tabel Course maken CREATE TABLE Course ( CourseId int NOT NULL, Name varchar(255) NOT NULL, StartDate date NOT NULL, EndDate date NOT NULL, Period int NOT NULL, IsWeekEnd bit NOT NULL, IsActive bit NOT NULL ) -- DROP table Course -- Tabel Student maken CREATE TABLE Student ( StudentId int NOT NULL, Name varchar(255) NOT NULL, Age int NOT NULL, Address varchar(255) NOT NULL, Registered datetime NOT NULL, IsActive bit NOT NULL, Description varchar(255) NOT NULL ) -- DROP table Student 中的记录在任何地方都没有显示为NULL。

以下是我创建的表格:

CREATE VIEW V AS (

  SELECT s.StudentId,s.Name,c.CourseId,c.StartDate FROM
    Student s
  LEFT JOIN 
    Course c 
  ON
    s.Name=c.Name
);

这是我创建的视图

userTags = [4,6,2,1]
articleTags = [1,2,3,4,5]

if ANY [userTags] IN [articleTags] 
  [resultArr addObject:article]

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

没有与学生姓名同名的课程。您需要在StudentCourse和INNER JOIN学生课程中左右加入学生课程。

SELECT s.StudentId,s.Name,c.CourseId,c.StartDate 
FROM Student s
LEFT JOIN StudentCourse sc ON s.StudentId = sc.StudentId
INNER JOIN Course c ON sc.CourseId = c.CourseId