• 我在面试中常问的数据库问题


    面试时常用的sql问题

    第一题

    表A有字段aid等,表B有字段bid等

    A表

    字段名

    aid

    其他字段略

    记录1

    1

    *

    记录2

    2

    *

    记录3

    3

    *

    B表

    字段名

    bid

    其他字段略

    记录1

    2

    *

    记录2

    3

    *

    记录3

    4

    *

    SELECT a.aid,b.bid,……

    FROM A a

    LEFT JOIN B b ON a.aid=b.bid

    查询结果中有那些行,每行的列都是什么样子的

    【主要考察:对左连接的了解,这是基本技能】

    第二题

    有user表记录了系统中的用户信息

    user_id

    user_name

    province

    city

    1

    ebola

    辽宁省

    沈阳市

    2

    camus

    辽宁省

    大连市

    3

    leon

    辽宁省

    大连市

    4

    tyler

    辽宁省

    沈阳市

    5

    oven

    辽宁省

    大连市

    6

    susie

    吉林省

    长春市

    7

    nancy

    吉林省

    吉林市

    8

    lucy

    吉林省

    四平市

    9

    tom

    河北省

    石家庄市

    10

    lily

    河北省

    秦皇岛市

    11

    wendy

    河北省

    保定市

    12

    andy

    河北省

    唐山市

    13

    hard

    河北省

    张家口市

    14

    vance

    河北省

    廊坊市

    请写SQL查询表中的满足以下要求的省份

    1、 不少于5个用户

    2、 省份所属用户属于至少3个城市

    例如:

    辽宁省 不满足第二个条件,只属于沈阳市大连市两个城市

    吉林省 不满足第一个条件,只有3个用户

    河北省 满足第一个条件有6个用户满足第二个条件 有6个城市

     【深度考察sql能力,以面试的紧张情形,目前只有一个人答出来,是一个做过dba的开发】

    第三题

    表有两列id,name,其中id是主键,name是名称,在项目刚开始时name可以重复,当上线运行一段时间后,发现name必须唯一才符合需求,

    希望删除掉name重复的,只保留name相同的行中id最小的行,

    要求

    1、必须使用一个SQL,即 不能多个SQL依次执行来达到目的

    2、当name重复时,只能保留id最小的行,当name不重复时,直接保留。

    3、不要求效率

    即如果有两行(1,张三),(3,张三)则必须删掉id=3的。保留id=1的

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    macbook如何清理磁盘中的“容器中的其他宗卷”
    Maven本地仓库与远程仓库配置
    查看MySQL库、表所占磁盘空间大小
    数据库操作
    Mac Mysql初始密码重置
    Vue 性能优化经验总结
    【读书笔记】对象创建摘录
    【读书笔记】 函数柯里化
    js实现仿windows文件按名称排序
    本来想偷懒的今天,想了想,还是写一篇吧,前端登录界面,用的BOOTSTRAP
  • 原文地址:https://www.cnblogs.com/klarck/p/13594291.html
Copyright © 2020-2023  润新知