查询

自学内容
自学内容
自学内容
自学内容
自学内容
自学内容
select
o.order_code AS’订单号’,
r.restaurant_name AS ‘饭店名’,
o.eat_time AS’出单时间’,
food_list AS’菜名’,
unit_price AS’单价’,
courier_name AS’快递员’
– COUNT(courier) AS’送单次数’,
– SUM(unit_price)AS’送单总价’
from order_20 o
LEFT JOIN restaurant_20 r ON o.restaurant_code = r.restaurant_code
LEFT JOIN courier_20 c ON o.order_code = c.order_code
LEFT JOIN person_name20 pn2 ON c.courier = pn2.name_code
LEFT JOIN order_food20 of2 ON of2.order_code = o.order_code
LEFT JOIN food_20 f2 ON of2.food_code = f2.food_code
– WHERE courier_name=’李四’
– WHERE unit_price>20 AND unit_price<50

左外连接查询

  • 如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

SELECT
s.name,c.name
FROM student AS s
LEFT JOIN
class AS c
ON
s.class_id=c.id

右外连接查询

  • 如果右表的某行在左表中没有匹配行,则将为左表返回空值。

SELECT
s.name,c.name
FROM student AS s
RIGHT JOIN
class AS c
ON
s.class_id=c.id

多条记录查询

SELECT
s.name,c.name
FROM student AS s,class AS c
WHERE
s.class_id=c.id

内连接查询

SELECT
s.name,c.name
FROM student AS s
INNER JOIN
class AS c
ON
s.class_id=c.id

全连接查询

  • 完整外部连接返回左表和右表中的所有行。左表中没有匹配的值时,则为空值,右表数值正常匹配;右表同理。如果两个表之间有匹配行,则整个结果集行包含基表的数据值。
    SELECT
    s.name,c.name
    FROM student AS s
    FULL JOIN
    class AS c
    ON
    s.class_id=c.id

索引

  • 目的是为了加快检索速率
  • 虽然加快了检索速率,但是会降低表的更新速率。通常我们在设置表的时候设定外键的同时就已经创建了索引,不需要我们再去额外创建索引
  • 索引分为单列索引(一个索引包含单个列)和组合索引(一个索引包含多个列)
  • 语法
    CREATE INDEX index_name ON table_name(field1,field2…

    视图

  • 常用但又比较复杂的语句,将这一部分写作一个视图,当我们需要查询的时候,就可以快捷查询视图名就可以得到我们需要的数据

  • 语法
    CREATE VIEW view_name AS
    SELECT 字段名 FROM 视图名

相关文章:

  • 2022-01-20
  • 2021-06-15
  • 2022-01-08
  • 2021-09-27
  • 2021-05-12
  • 2021-06-14
  • 2021-09-18
  • 2022-12-23
猜你喜欢
  • 2021-11-23
  • 2021-11-21
  • 2021-10-17
  • 2022-02-23
相关资源
相似解决方案