📜  SQLite选择查询(1)

📅  最后修改于: 2023-12-03 15:20:18.962000             🧑  作者: Mango

SQLite选择查询

SQLite是一种轻量级的嵌入式关系型数据库,使用广泛且易于学习。选择查询是在SQLite中最常见的查询之一。本文将介绍使用SQLite进行选择查询的方法。

创建表

在进行选择查询之前,我们需要先创建一个包含数据的表。我们可以使用以下的SQL语句创建一个名为students的表。

CREATE TABLE students (
   id INTEGER PRIMARY KEY AUTOINCREMENT, 
   name TEXT,
   age INTEGER,
   gender TEXT
);

上述语句将创建一个名为students的表,其中包含四个列:idnameagegender。其中,id列为主键,将自动递增,每次插入一条新数据时,其值都会自动加1。其他三个列分别表示学生的姓名、年龄和性别。

插入数据

在进行选择查询之前,我们需要向students表中插入一些数据,以便能够进行查询。我们可以使用以下的SQL语句向表中插入一些数据。

INSERT INTO students (name, age, gender)
VALUES ('Tom', 20, 'Male');

INSERT INTO students (name, age, gender)
VALUES ('Lily', 21, 'Female');

INSERT INTO students (name, age, gender)
VALUES ('Jack', 22, 'Male');

INSERT INTO students (name, age, gender)
VALUES ('Lucy', 23, 'Female');

上述语句将向students表中插入四条数据,其中每条数据都包含学生的姓名、年龄和性别。

选择查询

有了数据之后,我们就可以进行选择查询了。选择查询主要用于从表中选择满足特定条件的数据。下面是一个简单的选择查询示例,返回所有性别为男性的学生姓名和年龄。

SELECT name, age
FROM students
WHERE gender = 'Male';

上述语句将返回所有性别为男性的学生姓名和年龄。其中,SELECT关键字用于指定我们需要查询哪些列,FROM关键字用于指定我们需要查询哪个表,WHERE关键字用于指定筛选条件。在本例中,我们将查询students表中性别为男性的学生姓名和年龄。

更复杂的选择查询

当然,选择查询并不仅限于简单的筛选条件。我们可以在SELECT子句中使用各种函数和运算符,以便进行更复杂的计算和数据处理。我们也可以使用JOIN关键字将多个表连接起来,以便进行联合查询。下面是一些复杂的选择查询示例,供参考。

  • 返回所有学生的平均年龄和各性别学生的平均年龄:

    SELECT AVG(age) AS 'Average Age'
    FROM students;
    
    SELECT gender, AVG(age) AS 'Average Age'
    FROM students
    GROUP BY gender;
    
  • 返回所有学生的姓名和年龄,并按年龄从小到大排序:

    SELECT name, age
    FROM students
    ORDER BY age ASC;
    
  • 返回所有学生的姓名、年龄和性别,并按性别和年龄从小到大排序:

    SELECT name, age, gender
    FROM students
    ORDER BY gender, age ASC;
    
  • 返回所有学生的平均年龄以及在所有学生中年龄大于平均年龄的学生姓名:

    SELECT AVG(age) AS 'Average Age'
    FROM students;
    
    SELECT name
    FROM students
    WHERE age > (SELECT AVG(age) FROM students);
    
总结

选择查询是SQLite中最常见的查询之一,使用SQLite进行选择查询非常简单。我们可以使用各种函数和运算符进行更复杂的计算和数据处理,也可以使用JOIN关键字将多个表连接起来进行联合查询。希望本文能够对使用SQLite进行选择查询的程序员有所帮助。