Professional Documents
Culture Documents
- Nếu có thông tin thẻ credit thì nên nhập vì bạn sẽ được miễn phí 300$ sử dụng trước khi
tính vào thẻ. Còn không thì làm theo cách tiếp theo
- Xoá phần chọn và chỉ giữ lại https://console.cloud.google.com để vào
- Sau khi vào thì ta chọn mục BigQuery > SQL Workspace
Các bước tiến hành tạo Dataset
- Chọn mục Select Project > New Project > Nhập SQL Tutorial > Create
- Sau đo chọn Project SQL Tutorial và nhấn create Dataset
Nhập tên DataSet là Sample Dataset > Create Dataset
Nhấn Create Table để tạo table
SELECT *
FROM `sql-tutorial-351503.SampleDataset.Pokemon`;
SELECT *
FROM `sql-tutorial-351503.SampleDataset.Combat`
Nhấn vào View Result để thấy kết quả từng bảng
SELECT *
FROM `sql-tutorial-351503.SampleDataset.Pokemon` Pokemon
WHERE Pokemon.Type_1 = "Grass" AND Pokemon.HP > 50
Save View from the Query
Truy vấn từ View
SELECT *
FROM `sql-tutorial-351503.SampleDataset.GrassPokemonView`
Truy Vấn 3:
SELECT DISTINCT Type_1
FROM `sql-tutorial-351503.SampleDataset.Pokemon` Pokemon
SELECT
MIN(HP) AS MIN_HP,
MAX(HP) AS MAX_HP,
ROUND(AVG(Attack),3) AS AVG_ATT,
STDDEV(Defense) AS STD_DEF,
POW(STDDEV(Defense), 2)
FROM `sql-tutorial-351503.SampleDataset.Pokemon` Pokemon
Truy Vấn 4:
Truy Vấn 5
SELECT
SubQuery1.First_pokemon,
SubQuery1.NumberFight1,
SubQuery2.NumberFight2,
SubQuery1.NumberFight1 + SubQuery2.NumberFight2 AS TotalFight
FROM
(SELECT First_pokemon, Count(Second_pokemon) AS NumberFight1
FROM `sql-tutorial-351503.SampleDataset.Combat` Combat
GROUP BY First_pokemon ) SubQuery1
,
(SELECT Second_pokemon, Count(First_pokemon) AS NumberFight2
FROM `sql-tutorial-351503.SampleDataset.Combat` Combat
GROUP BY Second_pokemon) SubQuery2
WHERE SubQuery1.First_pokemon = SubQuery2.Second_pokemon
WITH WinTable AS
(
SELECT Winner AS WinPokemon, COUNT(*) AS TotalWin
FROM `sql-tutorial-351503.SampleDataset.Combat` Combat
GROUP BY Winner
)
SELECT
SubQuery1.First_pokemon,
SubQuery1.NumberFight1,
SubQuery2.NumberFight2,
SubQuery1.NumberFight1 + SubQuery2.NumberFight2 AS TotalFight,
SubQuery3.TotalWin,
SubQuery3.TotalWin / (SubQuery1.NumberFight1 + SubQuery2.NumberFight2) AS WinPercent
FROM `sql-tutorial-351503.SampleDataset.FirstPokemonTable` SubQuery1,
`sql-tutorial-351503.SampleDataset.SecondPokemonTable` SubQuery2,
WinTable SubQuery3
WHERE SubQuery1.First_pokemon = SubQuery2.Second_pokemon AND SubQuery3.WinPokemon =
SubQuery1.First_pokemon
WITH WinTable AS
(
SELECT Winner AS WinPokemon, COUNT(*) AS TotalWin
FROM `sql-tutorial-351503.SampleDataset.Combat` Combat
GROUP BY Winner
)
SELECT
SubQuery1.First_pokemon,
SubQuery1.NumberFight1,
SubQuery2.NumberFight2,
SubQuery1.NumberFight1 + SubQuery2.NumberFight2 AS TotalFight,
SubQuery3.TotalWin,
SubQuery3.TotalWin / (SubQuery1.NumberFight1 + SubQuery2.NumberFight2) AS WinPercent
FROM `sql-tutorial-351503.SampleDataset.FirstPokemonTable` SubQuery1
INNER JOIN `sql-tutorial-351503.SampleDataset.SecondPokemonTable` SubQuery2 ON SubQuery1.First_pokemon =
SubQuery2.Second_pokemon
INNER JOIN WinTable SubQuery3 ON SubQuery3.WinPokemon = SubQuery1.First_pokemon
SELECT
Combat.First_pokemon, Pokemon1.Name AS Name_Pokemon1, Pokemon1.Type_1 AS Type_Pokemon1,
Combat.Second_pokemon, Pokemon2.Name AS Name_Pokemon2, Pokemon2.Type_1 AS Type_Pokemon2,
Combat.Winner
FROM `sql-tutorial-351503.SampleDataset.Combat` Combat
LEFT JOIN `sql-tutorial-351503.SampleDataset.Pokemon` Pokemon1
ON Combat.First_pokemon = Pokemon1._
LEFT JOIN `sql-tutorial-351503.SampleDataset.Pokemon` Pokemon2
ON Combat.Second_pokemon = Pokemon2._
WHERE Pokemon1.Name IS NOT NULL and Pokemon2.Name IS NOT NULL