using ajax to query sql

See documentation

WordPress have admin-ajax.php file in wp-includes/ folder. Put in your data parametr action and create hooks:

add_action('wp_ajax_{your_action}', 'handler');
add_action('wp_ajax_nopriv_{your_action}', 'handler');

ajax.url parametr you can get by using wp_localize_script('YOUR SCRIPT handle', 'ajax', array('url'=> admin_url('admin-ajax.php')))

All code must looks like:

add_action( 'wp_enqueue_scripts', 'callback_for_setting_up_scripts' );
function callback_for_setting_up_scripts() {
    wp_register_style( 'mein-plugin', plugins_url( 'style.css', __FILE__ ) );
    wp_enqueue_style( 'mein-plugin' );
    wp_enqueue_script( 'ajax-sender', plugins_url( 'ajax-sender.js', __FILE__ ), array( 'jquery' ), null, true );
    wp_localize_script( 'ajax-sender', 'ajax', array(
        'url'   => admin_url( 'admin-ajax.php' ),
        'nonce' => wp_create_nonce( 'my_nonce' ),
    ) );
} 

Javascript file:

jQuery(function () {
    jQuery('#inp').keyup(function () {
        var inpval = jQuery('#inp').val();
        jQuery.ajax({
            type: 'POST',
            data: {
                action: 'simple_wordpress_ajax',
                nonce: ajax.my_nonce,
                p: inpval
            },
            url: ajax.url,
            success: function (data) {
                jQuery('.results').html(data.html);
            }
        });
    });
});

And in php file

add_action('wp_ajax_simple_wordpress_ajax', 'simple_ajax_handler');
add_action('wp_ajax_nopriv_simple_wordpress_ajax', 'simple_ajax_handler');

function simple-wordpress-ajax(){
    check_ajax_referer('my_nonce', 'nonce', true);
    // your php code

    $return = array('html' => 'test'); // your data for return
    wp_send_json_success($return);
}

Something like this.