diff --git a/sql-queries-12/ideal-data-type-latitude-longitude-mysql/decimal-data-type.sql b/sql-queries-12/ideal-data-type-latitude-longitude-mysql/decimal-data-type.sql new file mode 100644 index 00000000..4fea2772 --- /dev/null +++ b/sql-queries-12/ideal-data-type-latitude-longitude-mysql/decimal-data-type.sql @@ -0,0 +1,12 @@ +-- Create example table +CREATE TABLE Coordinates ( + id INT AUTO_INCREMENT PRIMARY KEY, + location VARCHAR(255), + latitude DECIMAL(10, 8) NOT NULL, + longitude DECIMAL(11, 8) NOT NULL +); +-- Add example data +INSERT INTO Coordinates (location, latitude, longitude) +VALUES ('Eiffel Tower', 48.8584, 2.2945); +-- Query example data +SELECT * FROM Coordinates; diff --git a/sql-queries-12/ideal-data-type-latitude-longitude-mysql/point-data-type.sql b/sql-queries-12/ideal-data-type-latitude-longitude-mysql/point-data-type.sql new file mode 100644 index 00000000..5ce3aa54 --- /dev/null +++ b/sql-queries-12/ideal-data-type-latitude-longitude-mysql/point-data-type.sql @@ -0,0 +1,20 @@ +-- Create example table +CREATE TABLE Locations ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(255), + coordinates POINT NOT NULL SRID 4326, + SPATIAL INDEX(coordinates) +); +-- Add example data +INSERT INTO Locations (name, coordinates) +VALUES ('Eiffel Tower', ST_PointFromText('POINT(2.2945 48.8584)', 4326)); +INSERT INTO Locations (name, coordinates) +VALUES ('Arc de Triomphe', ST_PointFromText('POINT(2.2950 48.8738)', 4326)); +-- Query example data +SELECT + ST_Distance_Sphere(t1.coordinates, t2.coordinates) AS Distance_in_Meters +FROM + Locations AS t1, + Locations AS t2 +WHERE + t1.name = 'Eiffel Tower' AND t2.name = 'Arc de Triomphe';