数据库联表查询 有2张表,学生表(student) 科目和分数表(grade) 基本信息如下: student表 id name age 1000 张三 18 1001 李四 19 1002 王五 20 grade表 id student_id subject score 1 1000 English 86 2 1000 Math 90 3 1000 Chinese 99 查询所有学生的数学成绩,显示学生姓名name,分数,由高到低
时间: 2024-02-10 14:04:17 浏览: 58
SQL查询语句如下:
```sql
SELECT student.name, grade.score
FROM student
INNER JOIN grade ON student.id = grade.student_id
WHERE grade.subject = 'Math'
ORDER BY grade.score DESC;
```
该语句使用了INNER JOIN联表查询,将学生表和科目分数表连接起来,在WHERE子句中筛选出科目为数学的成绩,然后按成绩由高到低排序。最终结果只显示学生姓名和数学成绩。
相关问题
SQL怎么建立基本表:在【学生课程数据库】中建立3张表:Student、Course和SC
在SQL中,建立基本表(也称为数据表)通常涉及创建模式并指定字段名、类型和约束。对于“学生课程数据库”中的三个表Student、Course和SC(可能是学生选课表),我们可以分别创建:
1. Student表(学生信息)
```sql
CREATE TABLE Student (
ID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Age INT,
Gender CHAR(1),
Department VARCHAR(50)
);
```
在这个表中,ID通常是主键,表示每个学生的唯一标识;Name、Age、Gender和Department是字段名,分别存储学生的名字、年龄、性别和所在部门。
2. Course表(课程信息)
```sql
CREATE TABLE Course (
ID INT PRIMARY KEY,
CourseName VARCHAR(100) NOT NULL,
Teacher VARCHAR(50),
Credits INT
);
```
这里ID是主键,CourseName代表课程名称,Teacher是教师姓名,Credits是学分数。
3. SC表(学生选课关联表)
```sql
CREATE TABLE SC (
StudentID INT,
CourseID INT,
Grade INT,
FOREIGN KEY (StudentID) REFERENCES Student(ID),
FOREIGN KEY (CourseID) REFERENCES Course(ID)
);
```
SC表记录了学生选课的信息,通过StudentID和CourseID与Student和Course表建立外键关联,Grade字段用于存储学生的成绩。注意,外键引用了父表的主键。
用Mysql、Access数据库分别创建一个xskc数据库,并创建四张表(学生表:student;课程表:course;选课表:sc;密码表:mm)。 3、使用数据库管理工具navicat.exe连接数据
在MySQL中创建xskc数据库并创建四张表的步骤:
1. 打开Navicat,选择"新建连接",填写服务器地址(如果默认则无需填写),登录用户名和密码,然后连接到MySQL。
2. 在左侧面板中,点击"Schema",然后右键单击,选择"Create Schema",输入名字"xskc",创建新的数据库。
3. 对于学生表student:
- 右键点击"xskc" -> "SQL Editor" -> 输入以下SQL命令:
```sql
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender ENUM('男', '女')
);
```
4. 课程表course:
```sql
CREATE TABLE course (
cid INT PRIMARY KEY,
cname VARCHAR(100),
teacher VARCHAR(50)
);
```
5. 选课表sc:
```sql
CREATE TABLE sc (
sid INT,
cid INT,
grade FLOAT,
FOREIGN KEY (sid) REFERENCES student(id),
FOREIGN KEY (cid) REFERENCES course(cid)
);
```
6. 密码表mm:
```sql
CREATE TABLE mm (
username VARCHAR(50) PRIMARY KEY,
password VARCHAR(50)
);
```
在Microsoft Access中操作类似,但是创建数据库的步骤可能会有所不同,因为它是桌面应用,直接在界面内创建。步骤大致如下:
1. 新建空白数据库,命名为"xskc.mdb"。
2. 在"表设计视图"中,依次创建四个表,名称分别为"student", "course", "sc" 和 "mm",内容与上面的SQL语句一致。
3. 确保每个表的关键字段设置为主键约束。
连接Navicat到Access数据库时,需要指定驱动程序类型(通常是ODBC,取决于你的系统配置),然后输入相应的文件路径(如"My Documents\MyDatabase.accdb")。点击连接后,你将能看到新创建的"xskc"数据库。
阅读全文