mysql sql查询

  • 在 MySQL 中,SQL 查询用于从数据库中检索数据。这些查询可以简单到仅检索一个表中的几列,也可以复杂到涉及多表连接、子查询、聚合函数等。下面是一些基本的 SQL 查询示例以及一些更复杂的查询。

基本查询

  1. 选择特定列 :
SELECT column1, column2 FROM table_name;
  1. 选择所有列 :
SELECT * FROM table_name;
  1. 带条件的查询 :
SELECT * FROM table_name WHERE condition;

例如:

SELECT * FROM employees WHERE age > 30;
  1. 指定列的唯一值 :
SELECT DISTINCT column_name FROM table_name;

聚合函数

  1. 计数 :
SELECT COUNT(column_name) FROM table_name;
  1. 最大值 :
SELECT MAX(column_name) FROM table_name;
  1. 最小值 :
SELECT MIN(column_name) FROM table_name;
  1. 平均值 :
SELECT AVG(column_name) FROM table_name;
  1. 总和 :
SELECT SUM(column_name) FROM table_name;

排序和分组

  1. 排序 :
SELECT * FROM table_name ORDER BY column_name ASC|DESC;

例如:

SELECT * FROM employees ORDER BY salary DESC;
  1. 分组 :
SELECT column1, COUNT(column2) FROM table_name GROUP BY column1;

连接(Join)

  1. 内连接 :
SELECT * FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
  1. 左连接 :
SELECT * FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
  1. 右连接 :
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
  1. 全连接 :
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;

子查询

SELECT column_name(s) FROM table_name WHERE column_name OPERATOR (SELECT column_name FROM table_name WHERE condition);

分页

SELECT * FROM table_name LIMIT offset, count;

例如:

SELECT * FROM employees LIMIT 5, 10;  -- 跳过前5条记录,返回接下来的10条记录

组合查询

使用 UNIONUNION ALLUNION ALL 会包括重复的行):

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

这些只是一些基本的示例。SQL 查询可以根据需要变得非常复杂和强大,包括使用子查询、多表连接、复杂的条件和函数等。

你可能感兴趣的:(mysql,sql,数据库)