zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    (hdu step 7.1.2)You can Solve a Geometry Problem too(乞讨n条线段,相交两者之间的段数)
    阅读<反欺骗的艺术>思考
    顺序查找(改进)
    win7电脑那些事
    激活office 2010
    MyEclipse10安装SVN插件
    合并排序法
    希尔排序法
    直接插入排序法
    快速排序法——较优方法
  • 原文地址:https://www.cnblogs.com/jieyi/p/14490646.html
Copyright © 2011-2022 走看看