MySQL查询语句是用于从数据库中选择数据的基本工具,其基本语法结构如下:

```sql

SELECT column1, column2, ...

FROM table_name

[WHERE condition]

[GROUP BY column1, column2, ...]

[HAVING condition]

[ORDER BY column1 ASC|DESC]

[LIMIT M, N]

```

基础查询

查询所有字段:`SELECT * FROM table_name;`

查询指定字段:`SELECT column1, column2 FROM table_name;`

使用 AS 给字段起别名:`SELECT column1 AS alias1, column2 AS alias2 FROM table_name;`

条件查询

使用 WHERE 子句筛选数据:`SELECT * FROM table_name WHERE condition;`

示例:`SELECT name, age FROM user WHERE age > 18;`

逻辑运算符:`AND`, `OR`, `NOT`

示例:`SELECT * FROM student WHERE age >= 20 AND score > 50;`

排序和限制

使用 ORDER BY 对查询结果进行排序:`SELECT * FROM table_name ORDER BY column_name ASC|DESC;`

示例:`SELECT name, score FROM student ORDER BY score DESC LIMIT 3;`

分组查询

使用 GROUP BY 按指定列分组:`SELECT column1, AVG(column2) FROM table_name GROUP BY column1;`

示例:`SELECT class_id, AVG(score) AS avg_score FROM student GROUP BY class_id;`

聚合函数

COUNT:`SELECT COUNT(*) FROM table_name;`

SUM:`SELECT SUM(column_name) FROM table_name;`

AVG:`SELECT AVG(column_name) FROM table_name;`

MAX:`SELECT MAX(column_name) FROM table_name;`

MIN:`SELECT MIN(column_name) FROM table_name;`

多表查询

子查询:`SELECT * FROM table1 WHERE column_name IN (SELECT column_name FROM table2);`

联表查询(JOIN):`SELECT t1.column1, t2.column2 FROM table1 t1 INNER JOIN table2 t2 ON t1.column_name = t2.column_name;`

其他

LIKE:用于模糊匹配,`LIKE 'pattern%'`

REGEXP:用于正则表达式匹配,`REGEXP 'pattern'`

示例

查询所有字段

```sql

SELECT * FROM user;

```

查询指定字段

```sql

SELECT name, age FROM user;

```

使用 AS 起别名

```sql

SELECT name AS user_name, age AS user_age FROM user;

```

条件查询

```sql

SELECT * FROM user WHERE age > 18;

```

排序和限制

```sql

SELECT name, score FROM student ORDER BY score DESC LIMIT 3;

```

分组查询

```sql

SELECT class_id, AVG(score) AS avg_score FROM student GROUP BY class_id;

```

聚合函数

```sql

SELECT COUNT(*) FROM student;

SELECT SUM(score) AS total_score FROM student;

SELECT AVG(score) AS average_score FROM student;

SELECT MAX(score) AS highest_score FROM student;

SELECT MIN(score) AS lowest_score FROM student;

```

多表查询 - 子查询

```sql

SELECT * FROM orders WHERE order_id IN (SELECT order_id FROM customers WHERE city = 'New York');

```

多表查询 - 联表查询

```sql

SELECT customers.name, orders.order_date

FROM customers

INNER JOIN orders ON customers.customer_id = orders.customer_id;

```

这些查询语句可以帮助你高效地从MySQL数据库中检索所需的数据。根据实际需求选择合适的查询语句和条件,可以大大提高查询效率和数据处理的准确性。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部