【问题标题】:Are there sample tables on sqlfiddlesqlfiddle 上是否有示例表
【发布时间】:2016-01-20 13:22:32
【问题描述】:

SqlFiddle 上是否有可以查询的默认表?

我想在一个简单的表上尝试一个基本的分析查询,但我不想设置架构和种子数据等。

通常我会做类似select * from all_objects

(http://sqlfiddle.com/)

【问题讨论】:

  • 您找到答案了吗?这两个发布的对我来说都很好。如果您接受答案,这将有助于其他人将来如何看待这个问题。

标签: sqlfiddle


【解决方案1】:

【讨论】:

    【解决方案2】:
    您可以在 SQLFiddle 应用程序中使用“View Sample Fiddle”。

    【讨论】:

      【解决方案3】:

      以下内容来自 Stack Overflow 文档中的“汽车商店数据库” (archived here);版权所有2017 by PrateekforsvarirFlorin GhitaAbhilash R VankayalaMattMureinikBostjanMzzzzzz,@ 987654333 ,Franck Dernoncourtenrico.bacisJavaHopperrdansbignose,和CL.;领有牌照 在 CC BY-SA 3.0 下。完整堆栈溢出的存档 文档内容可以在 archive.org 上找到,其中 示例按其主题 ID:280 进行索引,例如:1014。

      汽车商店数据库

      在以下示例 - 汽车店业务的数据库中,我们有一个部门、员工、客户和客户汽车的列表。我们正在使用外键来创建各个表之间的关系。

      现场示例:SQL fiddle


      表之间的关系

      • 每个部门可能有 0 名或多名员工
      • 每个员工可能有 0 或 1 个经理
      • 每个客户可能有 0 辆或更多辆汽车

      部门

      | Id | Name  |
      |:---|:------|
      | 1  | HR    |
      | 2  | Sales |
      | 3  | Tech  |
      

      创建表的 SQL 语句:

      CREATE TABLE Departments (
          Id INT NOT NULL AUTO_INCREMENT,
          Name VARCHAR(25) NOT NULL,
          PRIMARY KEY(Id)
      );
      
      INSERT INTO Departments
          ([Id], [Name])
      VALUES
          (1, 'HR'),
          (2, 'Sales'),
          (3, 'Tech')
      ;
      

      员工

      | Id | FName     | LName    | PhoneNumber | ManagerId | DepartmentId | Salary | HireDate   |
      |:---|:----------|:---------|:------------|:----------|:-------------|:-------|:-----------|
      | 1  | James     | Smith    | 1234567890  | NULL      | 1            | 1000   | 01-01-2002 |
      | 2  | John      | Johnson  | 2468101214  | 1         | 1            | 400    | 23-03-2005 |
      | 3  | Michael   | Williams | 1357911131  | 1         | 2            | 600    | 12-05-2009 |
      | 4  | Johnathon | Smith    | 1212121212  | 2         | 1            | 500    | 24-07-2016 |
      

      创建表的 SQL 语句:

      CREATE TABLE Employees (
          Id INT NOT NULL AUTO_INCREMENT,
          FName VARCHAR(35) NOT NULL,
          LName VARCHAR(35) NOT NULL,
          PhoneNumber VARCHAR(11),
          ManagerId INT,
          DepartmentId INT NOT NULL,
          Salary INT NOT NULL,
          HireDate DATETIME NOT NULL,
          PRIMARY KEY(Id),
          FOREIGN KEY (ManagerId) REFERENCES Employees(Id),
          FOREIGN KEY (DepartmentId) REFERENCES Departments(Id)
      );
      
      INSERT INTO Employees
          ([Id], [FName], [LName], [PhoneNumber], [ManagerId], [DepartmentId], [Salary], [HireDate])
      VALUES
          (1, 'James', 'Smith', 1234567890, NULL, 1, 1000, '01-01-2002'),
          (2, 'John', 'Johnson', 2468101214, '1', 1, 400, '23-03-2005'),
          (3, 'Michael', 'Williams', 1357911131, '1', 2, 600, '12-05-2009'),
          (4, 'Johnathon', 'Smith', 1212121212, '2', 1, 500, '24-07-2016')
      ;
      

      客户

      | Id | FName   | LName  | Email                     | PhoneNumber | PreferredContact |
      |:---|:--------|:-------|:--------------------------|:------------|:-----------------|
      | 1  | William | Jones  | william.jones@example.com | 3347927472  | PHONE            |
      | 2  | David   | Miller | dmiller@example.net       | 2137921892  | EMAIL            |
      | 3  | Richard | Davis  | richard0123@example.com   | NULL        | EMAIL            |
      

      创建表的 SQL 语句:

      CREATE TABLE Customers (
          Id INT NOT NULL AUTO_INCREMENT,
          FName VARCHAR(35) NOT NULL,
          LName VARCHAR(35) NOT NULL,
          Email varchar(100) NOT NULL,
          PhoneNumber VARCHAR(11),
          PreferredContact VARCHAR(5) NOT NULL,
          PRIMARY KEY(Id)
      );
      
      INSERT INTO Customers
          ([Id], [FName], [LName], [Email], [PhoneNumber], [PreferredContact])
      VALUES
          (1, 'William', 'Jones', 'william.jones@example.com', '3347927472', 'PHONE'),
          (2, 'David', 'Miller', 'dmiller@example.net', '2137921892', 'EMAIL'),
          (3, 'Richard', 'Davis', 'richard0123@example.com', NULL, 'EMAIL')
      ;
      

      汽车

      | Id | CustomerId | EmployeeId | Model        | Status  | Total Cost |
      |:---|:-----------|:-----------|:-------------|:--------|:-----------|
      | 1  | 1          | 2          | Ford F-150   | READY   | 230        |
      | 2  | 1          | 2          | Ford F-150   | READY   | 200        |
      | 3  | 2          | 1          | Ford Mustang | WAITING | 100        |
      | 4  | 3          | 3          | Toyota Prius | WORKING | 1254       |
      

      创建表的 SQL 语句:

      CREATE TABLE Cars (
          Id INT NOT NULL AUTO_INCREMENT,
          CustomerId INT NOT NULL,
          EmployeeId INT NOT NULL,
          Model varchar(50) NOT NULL,
          Status varchar(25) NOT NULL,
          TotalCost INT NOT NULL,
          PRIMARY KEY(Id),
          FOREIGN KEY (CustomerId) REFERENCES Customers(Id),
          FOREIGN KEY (EmployeeId) REFERENCES Employees(Id)
      );
      
      INSERT INTO Cars
          ([Id], [CustomerId], [EmployeeId], [Model], [Status], [TotalCost])
      VALUES
          ('1', '1', '2', 'Ford F-150', 'READY', '230'),
          ('2', '1', '2', 'Ford F-150', 'READY', '200'),
          ('3', '2', '1', 'Ford Mustang', 'WAITING', '100'),
          ('4', '3', '3', 'Toyota Prius', 'WORKING', '1254')
      ;
      

      【讨论】:

        【解决方案4】:

        以下内容来自 Stack Overflow 文档中的“图书馆数据库” (archived here);版权所有 2017 enrico.bacisBostjanShivaWesleyJohnsonChristian;领有牌照 在 CC BY-SA 3.0 下。完整堆栈溢出的存档 文档内容可以在 archive.org 上找到,其中 示例按其主题 ID:280 进行索引,例如:1014。

        图书馆数据库

        在这个图书馆的示例数据库中,我们有 AuthorsBooksBooksAuthors 表。

        现场示例:SQL fiddle

        作者书籍被称为基表,因为它们包含关系模型中实际实体的列定义和数据。 BooksAuthors 被称为关系表,因为该表定义了 BooksAuthors 表之间的关系。


        表之间的关系

        • 每位作者可以拥有 1 本书或多本书
        • 每本书可以有 1 个或多个作者

        作者

        (view table)

        | Id | Name                 | Country |
        |:---|:---------------------|:--------|
        | 1  | J.D. Salinger        | USA     |
        | 2  | F. Scott. Fitzgerald | USA     |
        | 3  | Jane Austen          | UK      |
        | 4  | Scott Hanselman      | USA     |
        | 5  | Jason N. Gaylord     | USA     |
        | 6  | Pranav Rastogi       | India   |
        | 7  | Todd Miranda         | USA     |
        | 8  | Christian Wenz       | USA     |
        

        创建表的SQL:

        CREATE TABLE Authors (
            Id INT NOT NULL AUTO_INCREMENT,
            Name VARCHAR(70) NOT NULL,
            Country VARCHAR(100) NOT NULL,
            PRIMARY KEY(Id)
        );
        
        INSERT INTO Authors
            (Name, Country)
        VALUES
            ('J.D. Salinger', 'USA'),
            ('F. Scott. Fitzgerald', 'USA'),
            ('Jane Austen', 'UK'),
            ('Scott Hanselman', 'USA'),
            ('Jason N. Gaylord', 'USA'),
            ('Pranav Rastogi', 'India'),
            ('Todd Miranda', 'USA'),
            ('Christian Wenz', 'USA')
        ;
        

        书籍

        (view table)

        |身份证 |标题 | |:---|:--------------------------| | 1 |麦田里的守望者 | | 2 |九层 | | 3 |弗兰妮和佐伊 | | 4 |了不起的盖茨比 | | 5 |夜晚的招标 | | 6 |傲慢与偏见 | | 7 | C# 和 VB 中的专业 ASP.NET 4.5 |

        创建表的SQL:

        CREATE TABLE Books (
            Id INT NOT NULL AUTO_INCREMENT,
            Title VARCHAR(50) NOT NULL,
            PRIMARY KEY(Id)
        );
        
        INSERT INTO Books
            (Id, Title)
        VALUES
            (1, 'The Catcher in the Rye'),
            (2, 'Nine Stories'),
            (3, 'Franny and Zooey'),
            (4, 'The Great Gatsby'),
            (5, 'Tender id the Night'),
            (6, 'Pride and Prejudice'),
            (7, 'Professional ASP.NET 4.5 in C# and VB')
        ;
        

        书籍作者

        (view table)

        |书名 |作者 ID | |:-------|:---------| | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 2 | | 6 | 3 | | 7 | 4 | | 7 | 5 | | 7 | 6 | | 7 | 7 | | 7 | 8 |

        创建表的SQL:

        CREATE TABLE BooksAuthors (
            AuthorId INT NOT NULL,
            BookId  INT NOT NULL,
            FOREIGN KEY (AuthorId) REFERENCES Authors(Id),
            FOREIGN KEY (BookId) REFERENCES Books(Id)
        );
        
        INSERT INTO BooksAuthors
            (BookId, AuthorId)
        VALUES
            (1, 1),
            (2, 1),
            (3, 1),
            (4, 2),
            (5, 2),
            (6, 3),
            (7, 4),
            (7, 5),
            (7, 6),
            (7, 7),
            (7, 8)
        ;
        

        示例

        查看所有作者 (view live example):

        SELECT * FROM Authors;
        

        查看所有书名 (view live example):

        SELECT * FROM Books;
        

        查看所有书籍及其作者 (view live example):

        SELECT
          ba.AuthorId,
          a.Name AuthorName,
          ba.BookId,
          b.Title BookTitle
        FROM BooksAuthors ba
          INNER JOIN Authors a ON a.id = ba.authorid
          INNER JOIN Books b ON b.id = ba.bookid
        ;
        

        【讨论】:

          【解决方案5】:

          以下内容来自 Stack Overflow 文档中的“Countries Table” (archived here);版权所有 2017 enrico.bacisBostjanShiva;领有牌照 在 CC BY-SA 3.0 下。完整堆栈溢出的存档 文档内容可以在 archive.org 上找到,其中 示例按其主题 ID:280 进行索引,例如:9933。

          国家/地区表

          在本例中,我们有一个 Countries 表。国家表有很多用途,尤其是在涉及货币和汇率的金融应用中。

          现场示例:SQL fiddle

          彭博和路透社等一些市场数据软件应用程序要求您向其 API 提供 2 或 3 个字符的国家/地区代码以及货币代码。因此,此示例表同时具有 2 个字符的 ISO 代码列和 3 个字符的 ISO3 代码列。


          国家

          (view table)

          | Id | ISO | ISO3 | ISONumeric | CountryName   | Capital    | ContinentCode | CurrencyCode |
          |:---|:----|:-----|:-----------|:--------------|:-----------|:--------------|:-------------|
          | 1  | AU  | AUS  | 36         | Australia     | Canberra   | OC            | AUD          |
          | 2  | DE  | DEU  | 276        | Germany       | Berlin     | EU            | EUR          |
          | 2  | IN  | IND  | 356        | India         | New Delhi  | AS            | INR          |
          | 3  | LA  | LAO  | 418        | Laos          | Vientiane  | AS            | LAK          |
          | 4  | US  | USA  | 840        | United States | Washington | NA            | USD          |
          | 5  | ZW  | ZWE  | 716        | Zimbabwe      | Harare     | AF            | ZWL          |
          

          创建表的SQL:

          CREATE TABLE Countries (
              Id INT NOT NULL AUTO_INCREMENT,
              ISO VARCHAR(2) NOT NULL,
              ISO3 VARCHAR(3) NOT NULL,
              ISONumeric INT NOT NULL,
              CountryName VARCHAR(64) NOT NULL,
              Capital VARCHAR(64) NOT NULL,
              ContinentCode VARCHAR(2) NOT NULL,
              CurrencyCode VARCHAR(3) NOT NULL,
              PRIMARY KEY(Id)
          )
          ;
          
          INSERT INTO Countries
              (ISO, ISO3, ISONumeric, CountryName, Capital, ContinentCode, CurrencyCode)
          VALUES
              ('AU', 'AUS', 36, 'Australia', 'Canberra', 'OC', 'AUD'),
              ('DE', 'DEU', 276, 'Germany', 'Berlin', 'EU', 'EUR'),
              ('IN', 'IND', 356, 'India', 'New Delhi', 'AS', 'INR'),
              ('LA', 'LAO', 418, 'Laos', 'Vientiane', 'AS', 'LAK'),
              ('US', 'USA', 840, 'United States', 'Washington', 'NA', 'USD'),
              ('ZW', 'ZWE', 716, 'Zimbabwe', 'Harare', 'AF', 'ZWL')
          ;
          

          【讨论】:

            【解决方案6】:

            对于 MySQL 小提琴,请点击来自 answer by Daniel Käfer 的链接。

            对于相同表的 Microsoft SQL Server 版本,请使用以下链接:

            【讨论】:

              猜你喜欢
              • 2020-01-18
              • 2017-12-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-11-18
              • 2011-08-10
              • 2017-08-02
              相关资源
              最近更新 更多