• mysql刷题


    1. 更改表名:

    alter table titles_test rename to titles_2017

    2.replace()函数

    将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错。

    replace into titles_test VALUES (5,10005,'Senior Engineer', '1986-06-26', '9999-01-01')

    3.update 语句

    update titles_test set to_date=NULL, from_date='2001-01-01' where to_date='9999-01-01'

    4.select 去重排序

    select DISTINCT salary from salaries order by salary DESC

    5.出现三次以及三次以上的积分

    select number
    from grade
    group by number
    having count(number)>=3

    6.查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列

    select * from employees where emp_no%2!=0 and last_name != "Mary" order by hire_date DESC

    7. 薪水第二多的员工-嵌套表- as在外面

    select * from
    (select emp_no, salary from salaries order by salary DESC limit 2 ) as c
    order by salary ASC
    limit 1

    8. 查询每个用户最近一天登录的日子,并且按照user_id升序排序 - Group

    select user_id, max(date) from login group by user_id order by user_id ASC

    9.批量插入

    insert into actor values(1,"PENELOPE","GUINESS","2006-02-15 12:34:33"),(2,"NICK","WAHLBERG","2006-02-15 12:34:33")

    10.查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t - having 语句

    select emp_no,count(emp_no) from salaries group by emp_no having count(emp_no)>15

    11. 保留三位小数,四舍五入 round()

    select job , round(avg(score),3) from grade group by job order by avg(score) desc

    12.请你找出所有非部门领导的员工emp_no in语句
    select emp_no from employees where emp_no not in (select emp_no from dept_manager)

    13. 字符串拼接 concat()

    select concat(last_name," ",first_name) from employees

    14.删除emp_no重复的记录,只保留最小的id对应的记录。(不能直接删除查询的结果,要有个中间select)

    delete from titles_test where id not in

    (select * from
    (select min(id) from titles_test group by emp_no) as C)

    15. left join

    • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
    • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
    • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

    select person.id, person.name,task.content from person left join task on person.id=task.person_id order by person.id ASC

     16. 分页 limit X,Y   X是第几个开始,Y是几条数据

    select * from employees limit 5,5

     17. replace和length

    select length("10,A,B") - length(replace("10,A,B",",","")) as cnt
  • 相关阅读:
    javascript页面刷新的几种方法
    Expo大作战(三十九)--expo sdk api之 DocumentPicker,Contacts(获取手机联系人信息),Branch
    Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)
    Expo大作战(三十七)--expo sdk api之 GLView,GestureHandler,Font,Fingerprint,DeviceMotion,Brightness
    Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera
    Expo大作战(三十五)--expo sdk api之Location!
    一条SQL语句中算日销售额和月销售额
    绑定sql server数据库的用户与登录名
    牛腩代码生成器
    ASP.NET MVC做的微信WEBAPP中调用微信JSSDK扫一扫
  • 原文地址:https://www.cnblogs.com/jieyi/p/14490646.html
Copyright © 2020-2023  润新知