美文网首页
SQL Server 2016 表操作:子查询

SQL Server 2016 表操作:子查询

作者: 江湖十年 | 来源:发表于2018-06-03 14:40 被阅读47次
    • IN 表达式
    SELECT * FROM 表名 WHERE 字段名 IN (值1, 值2, 值3,...);
    
    • NOT IN 表达式
    SELECT * FROM 表名 WHERE 字段名 IN (值1, 值2, 值3,...);
    

    示例

    -- IN
    SELECT * FROM Student WHERE name IN ('name1','name2','管理员');
    
    -- NOT IN
    SELECT * FROM Student WHERE name NOT IN ('name1','name2','管理员');
    
    image.png
    • 通过 IN / NOT IN 实现多表查询

    需求:有 Student、Score 两张表,分别标识学生和分数,Score 从表的 StudentID 字段为外键,对应 Student 主表的 ID 字段,Student 表 ID 在 Score 表的 StudentID 中说明这个学生有成绩,不在其中的说明没有成绩,现在要查询所有有成绩的学生信息

    -- 查询有分数的学生
    SELECT * FROM Student WHERE ID IN (SELECT StudentID FROM Score);
    
    image.png
    • EXISTS
    SELECT a.name,a.age FROM Student as a WHERE EXISTS (SELECT * FROM Score as b WHERE a.ID=b.StudentID);
    
    image.png

    相关文章

      网友评论

          本文标题:SQL Server 2016 表操作:子查询

          本文链接:https://www.haomeiwen.com/subject/ynhcsftx.html