zoukankan      html  css  js  c++  java
  • sql复习

    左连接和右连接的区别

    左连接只影响左表,右连接只影响右表

    Having与Where的区别

    • where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
    • having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。

    Student(Sid,Sname,Sage,Ssex)学生表

    Sid:学号
    Sname:学生姓名
    Sage:学生年龄
    Ssex:学生性别
    Course(Cid,Cname,T#)课程表
    Cid:课程编号
    Cname:课程名称
    Tid:教师编号
    SC(Sid,Cid,score)成绩表
    Sid:学号
    Cid:课程编号
    score:成绩
    Teacher(Tid,Tname)教师表
    Tid:教师编号:
    Tname:教师名字

    创建表

    create table  表名(   

    name varchar(255),

    id int);

    查询  

    select * from 表名;

    插入 insert

    insert  into  表名  values(列1,列2,列3)

    sql面试题

    -- 1.查询“1”课程比“2”课程成绩高的所有学生的学号
    select Sid,score from SC where Cid = 1;
    select Sid,score from SC where Cid = 2;

    select a.Sid from (select Sid,score from SC where Cid = 1)a,(select Sid,score from SC where Cid = 2)b
    where a.Sid = b.Sid and a.score > b.score;

    -- 2、查询平均成绩大于60分的同学的学号和平均成绩
    select Sid,avg(score) from SC group by Sid having avg(score)>60;
    -- having 用于分组之后过滤条件数据,经常包含聚合函数
    -- 3、查询所有同学的学号、姓名、选课数、总成绩
    select s.Sid,s.Sname,count_cid as 选课数, sum_score as 总成绩 from Student s
    left join (select Sid,count(Cid) as count_cid,sum(score)as sum_score from SC group by Sid)sc
    on s.Sid = sc.Sid

    --查询平均薪水排名5-10的部门

    group by ---分组条件

    order by --排序条件

    limit ---限制条件

    从大到小  desc

    从小到大  asc

    SELECT depart,avg(salary) FROM test.depart group by depart order by avg(salary) desc limit 5,5;

  • 相关阅读:
    ubuntu 制做samba
    《Programming WPF》翻译 第4章 前言
    《Programming WPF》翻译 第4章 3.绑定到数据列表
    《Programming WPF》翻译 第4章 4.数据源
    《Programming WPF》翻译 第5章 6.触发器
    《Programming WPF》翻译 第4章 2.数据绑定
    《Programming WPF》翻译 第4章 1.不使用数据绑定
    《Programming WPF》翻译 第5章 7.控件模板
    《Programming WPF》翻译 第5章 8.我们进行到哪里了?
    《Programming WPF》翻译 第5章 5.数据模板和样式
  • 原文地址:https://www.cnblogs.com/zyblb/p/10948150.html
Copyright © 2011-2022 走看看