Exist database with data and many complicated tables. Main table is locations. it has one restaurant, restaurant has many cuisines and has one city, city has one state.
I have to write query what searching data from many field at several tables. 
My query is

```
SELECT DISTINCT
 locations.*
 FROM
 locations,
 restaurants,
 cities,
 states,
 cuisines
 WHERE
 locations.restaurant_id = restaurants.id
 AND locations.city_id = cities.id
 AND cities.state_id = states.id
 AND cuisines.restaurant_id = restaurants.id
 AND (
 restaurants.name LIKE '%miami%'
 OR cities.city LIKE '%miami%'
 OR cities.zip LIKE '%miami%'
 OR states.state LIKE '%miami%'
 OR states.state_code LIKE '%miami%'
 ) AND (restaurants.delivery_type = '1' OR restaurants.delivery_type = 0)
 AND (cuisines.`name` LIKE '%Japanese%')

```

I think is not good way. Please, help to simplify this query.