SqlFiddle 上是否有可以查询的默认表?
我想在一个简单的表上尝试一个基本的分析查询,但我不想设置模式和种子数据等。
通常我会做类似的事情select * from all_objects
SqlFiddle 上是否有可以查询的默认表?
我想在一个简单的表上尝试一个基本的分析查询,但我不想设置模式和种子数据等。
通常我会做类似的事情select * from all_objects
以下内容来自 Stack Overflow 文档中的“汽车商店数据库”(在此处存档);版权所有 2017 FlyingPiMonster、Prateek、forsvarir、Tot Zam、Florin Ghita、Abhilash R Vankayala、WesleyJohnson、Matt、Mureinik、Magisch、Bostjan、Mzzzzzz、Franck Dernoncourt、enrico.bacis、JavaHopper、rdans、bignose和CL。; 根据 CC BY-SA 3.0 许可。可以在 archive.org 上找到完整的 Stack Overflow 文档内容的存档,其中该示例按其主题 ID:280 进行索引,例如:1014。
汽车商店数据库
在以下示例中 - 汽车商店业务的数据库,我们有一个部门、员工、客户和客户汽车的列表。我们使用外键来创建各个表之间的关系。
现场示例:SQL 小提琴
| 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')
;
以下内容来自 Stack Overflow 文档中的“图书馆数据库”(在此处存档);版权所有 2017 enrico.bacis、Bostjan、Shiva、WesleyJohnson和Christian;根据 CC BY-SA 3.0 许可。可以在 archive.org 上找到完整的 Stack Overflow 文档内容的存档,其中此示例按其主题 ID:280 进行索引,例如:1014。
图书馆数据库
在这个图书馆的示例数据库中,我们有Authors、Books和BooksAuthors表。
现场示例:SQL 小提琴
作者和书籍被称为基表,因为它们包含关系模型中实际实体的列定义和数据。BooksAuthors被称为关系表,因为该表定义了Books和Authors表之间的关系。
(查看表)
| 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')
;
(查看表)
| 身份证 | 标题 | |:---|:--------------------------| | 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')
;
(查看表)
| 书名 | 作者 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)
;
查看所有作者(查看实时示例):
SELECT * FROM Authors;
查看所有书名(查看实时示例):
SELECT * FROM Books;
查看所有书籍及其作者(查看实时示例):
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
;
以下内容来自 Stack Overflow 文档中的“Countries Table”(在此处存档);版权所有 2017 enrico.bacis、Bostjan和Shiva;根据 CC BY-SA 3.0 许可。可以在 archive.org 上找到完整的 Stack Overflow 文档内容的存档,其中该示例按其主题 ID:280 进行索引,例如:9933。
国家表
在这个例子中,我们有一个国家表。国家表有很多用途,尤其是在涉及货币和汇率的金融应用中。
现场示例:SQL 小提琴
一些市场数据软件应用程序(如 Bloomberg 和 Reuters)要求您为他们的 API 提供 2 或 3 个字符的国家代码以及货币代码。因此,此示例表同时具有 2 个字符的ISO
代码列和 3 个字符的ISO3
代码列。
(查看表)
| 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')
;
对于 MySQL 小提琴,请按照Daniel Käfer 的答案中的链接进行操作。
对于相同表的Microsoft SQL Server版本,请使用以下链接: