数据库名: student 同学表(学号 char (6),姓名,性别,年龄,民族,身份证号,宿舍号) 宿舍表(宿舍号 char (6),宿舍电话) 用 SQL 语言实现下列功能的 sql 语句代
时间: 2024-11-22 11:39:12 浏览: 22
数据库名 `student` 包含了两个相关的表:
1. **同学表** (`students`):
- 字段:学号(`stu_id`, char(6)),姓名(`name`),性别(`gender`),年龄(`age`),民族(`nationality`),身份证号(`id_number`),宿舍号(`dormitory_no`)。
2. **宿舍表** (`dormitories`):
- 字段:宿舍号(`dormitory_no`, char(6)),宿舍电话(`phone_number`)。
下面是一些基本的 SQL 操作示例,包括创建表、插入数据、查询等:
### 创建表
```sql
CREATE TABLE students (
stu_id CHAR(6) PRIMARY KEY,
name VARCHAR(50),
gender CHAR(1),
age INT,
nationality VARCHAR(20),
id_number VARCHAR(20),
dormitory_no CHAR(6)
);
CREATE TABLE dormitories (
dormitory_no CHAR(6) PRIMARY KEY,
phone_number VARCHAR(15)
);
```
### 插入数据
```sql
INSERT INTO students(stu_id, name, gender, age, nationality, id_number, dormitory_no)
VALUES('202201', '张三', 'M', 20, '汉', '123456789012345678', 'A01');
INSERT INTO dormitories(dormitory_no, phone_number)
VALUES('A01', '010-12345678');
```
### 查询关联数据
- 查询特定学生信息及其宿舍电话:
```sql
SELECT students.name, dormitories.phone_number
FROM students
JOIN dormitories ON students.dormitory_no = dormitories.dormitory_no
WHERE students.stu_id = '202201';
```
- 获取所有宿舍的信息及该宿舍的学生信息:
```sql
SELECT s.*, d.phone_number
FROM students s
JOIN dormitories d ON s.dormitory_no = d.dormitory_no;
```
阅读全文