mysql sql语句面试经典50题

阅读: 评论:0

2024年1月26日发(作者:)

mysql sql语句面试经典50题

mysql sql语句面试经典50题

1. 查询所有列的数据:

```sql

SELECT * FROM table_name;

```

2. 条件查询:

```sql

SELECT * FROM table_name WHERE condition;

```

3. 排序查询:

```sql

SELECT * FROM table_name ORDER BY column_name ASC/DESC;

```

4. 去重查询:

```sql

SELECT DISTINCT column_name FROM table_name;

```

5. 统计行数:

```sql

SELECT COUNT(*) FROM table_name;

```

6. 条件统计:

```sql

SELECT COUNT(*) FROM table_name WHERE condition;

```

7. 分组统计:

```sql

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

```

8. 连接查询 - 内连接:

```sql

SELECT * FROM table1 INNER JOIN table2 ON _name = _name;

```

9. 连接查询 - 左连接:

```sql

SELECT * FROM table1 LEFT JOIN table2 ON _name = _name;

```

10. 连接查询 - 右连接:

```sql

SELECT * FROM table1 RIGHT JOIN table2 ON _name = _name;

```

11. 子查询:

```sql

SELECT column_name FROM table_name WHERE column_name = (SELECT column_name

FROM another_table WHERE condition);

```

12. 更新数据:

```sql

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

```

13. 插入数据:

```sql

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

```

14. 删除数据:

```sql

DELETE FROM table_name WHERE condition;

```

15. 模糊查询:

```sql

SELECT * FROM table_name WHERE column_name LIKE 'pattern';

```

16. 使用通配符的模糊查询:

```sql

SELECT * FROM table_name WHERE column_name LIKE '%pattern%';

```

17. 使用正则表达式的模糊查询:

```sql

SELECT * FROM table_name WHERE column_name REGEXP 'pattern';

```

18. 限制结果集的行数:

```sql

SELECT * FROM table_name LIMIT 10;

```

19. 跳过前N行:

```sql

SELECT * FROM table_name LIMIT offset, count;

```

20. 计算平均值:

```sql

SELECT AVG(column_name) FROM table_name;

```

21. 计算总和:

```sql

SELECT SUM(column_name) FROM table_name;

```

22. 计算最大值和最小值:

```sql

SELECT MAX(column_name), MIN(column_name) FROM table_name;

```

23. 使用CASE语句进行条件查询:

```sql

SELECT column_name, CASE WHEN condition THEN 'value1' ELSE 'value2' END FROM

table_name;

```

24. 使用GROUP BY和HAVING进行分组过滤:

```sql

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING

COUNT(*) > 1;

```

25. 多表更新:

```sql

UPDATE table1 SET column1 = value1 WHERE column_name IN (SELECT column_name

FROM table2 WHERE condition);

```

26. 多表删除:

```sql

DELETE FROM table1 WHERE column_name IN (SELECT column_name FROM table2 WHERE

condition);

```

27. 创建表:

```sql

CREATE TABLE table_name (

column1 datatype,

column2 datatype,

...

);

```

28. 修改表结构 - 添加列:

```sql

ALTER TABLE table_name ADD column_name datatype;

```

29. 修改表结构 - 修改列数据类型:

```sql

ALTER TABLE table_name MODIFY column_name new_datatype;

```

30. 修改表结构 - 删除列:

```sql

ALTER TABLE table_name DROP COLUMN column_name;

```

31. 创建索引:

```sql

CREATE INDEX index_name ON table_name (column_name);

```

32. 删除索引:

```sql

DROP INDEX index_name ON table_name;

```

33. 使用LIMIT和OFFSET进行分页查询:

```sql

SELECT * FROM table_name LIMIT page_size OFFSET (page_number - 1) * page_size;

```

34. 使用IFNULL处理空值:

```sql

SELECT column1, IFNULL(column2, 'default_value') FROM table_name;

```

35. 使用COALESCE处理空值:

```sql

SELECT column1, COALESCE(column2, 'default_value') FROM table_name;

```

36. 计算日期差:

```sql

SELECT DATEDIFF(date1, date2) FROM table_name;

```

37. 获取当前日期和时间:

```sql

SELECT NOW();

```

38. 获取唯一标识符:

```sql

SELECT UUID();

```

39. 使用INNER JOIN和GROUP BY计算每个组的总数:

```sql

SELECT _name, COUNT(*) FROM table1 INNER JOIN table2 ON

_name = _name GROUP BY _name;

```

40. 使用CASE语句进行多条件查询:

```sql

SELECT column_name, CASE WHEN condition1 THEN 'value1' WHEN condition2 THEN

'value2' ELSE 'value3' END FROM table_name;

```

41. 使用CONCAT连接字符串:

```sql

SELECT CONCAT(column1, ' ', column2) AS concatenated_string FROM table_name;

```

42. 使用TRIM去除字符串两端的空格:

```sql

SELECT TRIM(column_name) FROM table_name;

```

43. 使用LEFT和RIGHT截取字符串:

```sql

SELECT LEFT(column_name, length) FROM table_name;

SELECT RIGHT(column_name, length) FROM table_name;

```

44. 使用IN进行多值匹配:

```sql

SELECT * FROM table_name WHERE column_name IN (value1, value2, value3);

```

45. 使用BETWEEN进行范围查询:

```sql

SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;

```

46. 使用COUNT和GROUP BY查找重复值:

```sql

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING

COUNT(*) > 1;

```

47. 使用DATE_FORMAT格式化日期:

```sql

SELECT DATE_FORMAT(column_name, '%Y-%m-%d') FROM table_name;

```

48. 使用SUM和GROUP BY进行累计求和:

```sql

SELECT column_name, SUM(column_name) OVER (ORDER BY column_name) AS

running_total FROM table_name;

```

49. 使用CONVERT进行数据类型转换:

```sql

SELECT column_name, CONVERT(column_name, new_datatype) FROM table_name;

```

50. 使用UPDATE和LIMIT进行分页更新:

```sql

UPDATE table_name SET column1 = value1 LIMIT page_size OFFSET (page_number - 1) *

page_size;

```

mysql sql语句面试经典50题

本文发布于:2024-01-26 01:57:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1706205459591.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:使用   进行   查询   计算   语句   结构   修改
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23