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;

  • 相关阅读:
    iOS-iOS调用相机调用相册【将图片保存到本地相册】
    iOS-image图片压缩
    iOS-沙盒目录
    iOS-Xcode代码统计
    Django基础之Model操作
    Django objects.all() ,objects.get() ,objects.filter()之间的区别
    django从1.7升级到1.9后 提示:RemovedInDjango110Warning
    关闭TCP中135、139、445、593、1025 等端口的操作方法 (转)(记录下)
    oracle decode函数和 sign函数
    Apache的主要目录和配置文件详解
  • 原文地址:https://www.cnblogs.com/zyblb/p/10948150.html
Copyright © 2011-2022 走看看