使用sql语句创建“收费项目及药品”视图,该视图对“药品资料”
时间: 2023-08-07 17:05:16 浏览: 123
sql 创建数据库表、视图语句
5星 · 资源好评率100%
和“收费项目”两张表进行关联,展示出“收费项目”表中的项目名称、项目单价、项目类别以及“药品资料”表中的药品名称、药品单价、药品类别等信息。
创建视图的 SQL 语句如下:
```sql
CREATE VIEW charge_items_and_medicines AS
SELECT
c.item_name AS item_name,
c.item_price AS item_price,
c.item_category AS item_category,
m.medicine_name AS medicine_name,
m.medicine_price AS medicine_price,
m.medicine_category AS medicine_category
FROM
charge_items c
LEFT JOIN medicines m ON c.medicine_id = m.medicine_id;
```
解释一下这个 SQL 语句:
- 首先,我们创建了一个名为 `charge_items_and_medicines` 的视图。
- 接着,我们使用 `SELECT` 关键字指定要展示的列:
- `c.item_name` 表示收费项目表中的项目名称列。
- `c.item_price` 表示收费项目表中的项目单价列。
- `c.item_category` 表示收费项目表中的项目类别列。
- `m.medicine_name` 表示药品资料表中的药品名称列。
- `m.medicine_price` 表示药品资料表中的药品单价列。
- `m.medicine_category` 表示药品资料表中的药品类别列。
- 然后,我们使用 `FROM` 关键字指定要从哪些表中查询数据:
- `charge_items c` 表示从收费项目表中查询数据,并将其别名为 `c`。
- `LEFT JOIN medicines m ON c.medicine_id = m.medicine_id` 表示在收费项目表和药品资料表之间进行左连接操作,以便获取与收费项目表中的药品 ID 匹配的药品资料记录。如果某条收费项目记录没有对应的药品资料记录,那么这条收费项目记录仍然会被包含在结果中,只是此时药品名称、药品单价和药品类别这些列的值会被设置为 `NULL`。
这样,我们就能够通过查询 `charge_items_and_medicines` 视图来获取收费项目和药品的相关信息了。
阅读全文