zoukankan      html  css  js  c++  java
  • mysql相关面试题(一)

     

    1、主键自增,姓名字段重复。删除重复的姓名数据,只留一条

    -- Every derived table must have its own alias 子查询要起别名

    -- 思路:分组后只会显示一条,然后根据这一条的id 去not in 删除
    DELETE FROM test WHERE id NOT IN (SELECT id FROM (SELECT * FROM test GROUP BY NAME) b);

    2、主键自增,主键不连续,查出某个主键的下一条数据

    -- searchId为要查询的id
    
    -- 思路:先查询出大于searchId的所有数据,取最小的,即为searchId的下一个id。
    --      根据这个id 查询出该数据。
    
    SELECT * FROM test WHERE id = (SELECT MIN(id) FROM test WHERE id > searchId);

    3、有两张表,表A几条数据,表B几条数据,表A左连接表B后会查询出几条数据

    左连接为保全左表数据,即使右表中没有数据,也会被null填充,并展示出来

    右连接为保全右表数据,即使左表中没有数据,也会被null填充,并展示出来

    由上得出,使用左连接,左表有几条数据就会显示几条数据,与右表数据无关。右连接同理

  • 相关阅读:
    SQL经常使用语法
    【LeetCode】Generate Parentheses 解题报告
    Linux进程间通信(IPC)
    Android菜单menu控件大全
    Android入门常见问题
    c++ struct与class的差别
    hdu 2011 多项式求和
    Android安全机制介绍
    HDOJ 4003 Find Metal Mineral
    HDU 2845 Beans (两次线性dp)
  • 原文地址:https://www.cnblogs.com/JamesHao/p/12756041.html
Copyright © 2011-2022 走看看