【SQL】数据操作语言(DML):学习插入、更新和删除数据

数据查询语言(DQL)用于从数据库中检索数据,主要通过SELECT语句来实现。SELECT语句允许用户指定要检索的数据列、表以及任何筛选条件。以下是对DQL的详细介绍以及多个示例:

SELECT语句基础结构:

sql

SELECT column1, column2, ... FROM table_name WHERE condition;

  • column1, column2, ...:要检索的列名,可以是一个或多个列。
  • table_name:要从中检索数据的表名。
  • condition:可选项,用于指定检索数据的筛选条件。

示例:

  1. 检索所有列的数据

    sql
    SELECT * FROM employees;

  2. 检索特定列的数据

    sql
    SELECT name, department FROM employees;

  3. 使用WHERE子句进行条件筛选

    sql
    SELECT * FROM employees WHERE department = 'IT' AND salary > 50000;

  4. 对检索结果进行排序

    sql
    SELECT name, salary FROM employees ORDER BY salary DESC;

  5. 对检索结果进行分组

    sql
    SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department;

  6. 使用聚合函数计算统计值

    sql
    SELECT COUNT(*) AS total_employees FROM employees;

  7. 使用JOIN进行多表连接

    sql
    SELECT e.name, d.department_name FROM employees e INNER JOIN departments d ON e.department_id = d.id;

  8. 使用子查询

    sql
    SELECT name, department FROM employees WHERE department IN (SELECT department_name FROM departments WHERE location = 'New York');

  9. 使用LIMIT限制结果集大小

    sql
    SELECT * FROM employees LIMIT 10;

  10. 使用DISTINCT消除重复行

    sql
    SELECT DISTINCT department FROM employees;

总之,DQL语言通过SELECT语句提供了丰富的功能,用户可以根据需要检索特定列、应用条件筛选、排序、分组、聚合等,从而实现灵活的数据查询和分析操作。

相关推荐
枷锁—sha7 小时前
【PortSwigger Academy】SQL 注入绕过登录 (Login Bypass)
数据库·sql·学习·安全·网络安全
东城绝神7 小时前
《Linux运维总结:基于ARM64+X86_64架构使用docker-compose一键离线部署MySQL8.0.43 NDB Cluster容器版集群》
linux·运维·mysql·架构·高可用·ndb cluster
一条咸鱼_SaltyFish8 小时前
远程鉴权中心设计:HTTP 与 gRPC 的技术决策与实践
开发语言·网络·网络协议·程序人生·http·开源软件·个人开发
逍遥德9 小时前
PostgreSQL 中唯一约束(UNIQUE CONSTRAINT) 和唯一索引(UNIQUE INDEX) 的核心区别
数据库·sql·postgresql·dba
工业甲酰苯胺9 小时前
字符串分割并展开成表格的SQL实现方法
数据库·sql
衫水10 小时前
[特殊字符] MySQL 常用指令大全
数据库·mysql·oracle
小句10 小时前
SQL中JOIN语法详解 GROUP BY语法详解
数据库·sql
阿杰 AJie11 小时前
MySQL 里给表添加索引
数据库·mysql
昊昊该干饭了11 小时前
一个真实查询需求如何从表设计走到高效 SQL
数据库·sql
Elastic 中国社区官方博客13 小时前
使用瑞士风格哈希表实现更快的 ES|QL 统计
大数据·数据结构·sql·elasticsearch·搜索引擎·全文检索·散列表